博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 10714 - Ants
阅读量:5795 次
发布时间:2019-06-18

本文共 1273 字,大约阅读时间需要 4 分钟。

  题目大意:有一个长度为lcm的木棍,上面有n只蚂蚁,以1cm/s的速度爬行,当两只蚂蚁相撞时两只蚂蚁各自掉头,蚂蚁走到两端时掉下去。不知道开始时每只蚂蚁各自的朝向,求全部蚂蚁都掉下去的可能最早时间和最晚时间。

  这个和算是一个模型,不过这个简单一点,关键是从整体上看,蚂蚁“相撞掉头”和“擦肩而过”没有区别,在计算蚂蚁位置方面是等价的。所以,最早时间就是离中间最近的蚂蚁走到离它最近的一端的时间,最晚就是两端的蚂蚁走到离它更远的那一端的时间的较大者。

1 #include 
2 #include
3 #include
4 using namespace std; 5 #define MAXN 1000000+10 6 7 int ant[MAXN]; 8 9 int main()10 {11 #ifdef LOCAL12 freopen("in", "r", stdin);13 #endif14 int N;15 scanf("%d", &N);16 while (N--)17 {18 int l, n;19 scanf("%d%d", &l, &n);20 for (int i = 0; i < n; i++)21 scanf("%d", &ant[i]);22 sort(ant, ant+n);23 int latest = max (l-ant[0], ant[n-1]);24 double mid = 1.0 * l / 2;25 double lmin = fabs(ant[0]-mid);; // lmin save the nearest distance from the half of the pole26 int p = 0;27 for (int i = 1; i < n; i++)28 if (fabs(ant[i]-mid) < lmin)29 {30 lmin = fabs(ant[i]-mid);31 p = i;32 }33 int earliest = min(ant[p], l-ant[p]);34 printf("%d %d\n", earliest, latest);35 }36 return 0;37 }
View Code

 

转载于:https://www.cnblogs.com/xiaobaibuhei/p/3205136.html

你可能感兴趣的文章
运用Loadrunner测试Mysql数据库性能
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>
C# 矩阵作业
查看>>
俺的新书《Sencha Touch实战》终于出版了
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
线程退出时执行函数,处理资源
查看>>
Wine QQ2012 笔记
查看>>
qml demo分析(clocks-时钟)
查看>>
vue去掉#——History模式
查看>>
2018年7月第一周网站建站笔记
查看>>
MongoDB工具MagicMongoDBTool使用介绍(一) -- 简单MongoDB入门
查看>>
javascript的事件
查看>>
201521123009 《Java程序设计》第1周学习总结
查看>>