码迷,mamicode.com
首页 > 其他好文 > 详细

poj1852ant

时间:2014-07-06 09:25:20      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:blog   os   2014   代码   io   时间   

题意是这样的,有一堆蚂蚁在一根棍子上乱爬,速度都是一样的,如果它们撞到了一起就会朝反方向爬去。
把棍子长度告诉你,还有蚂蚁的数量以及它们某时的距离棍子左端的距离,要求所有蚂蚁都掉到棍子下面去
的最小可能时间和最大可能时间。
我是这样做的。
暴力就可以了。
话说,蚂蚁相撞就反过头爬,跟相撞之后继续往前爬的效果是一样的,于是乎就当做蚂蚁都是在一根独立的棍子上
自己爬自己的路好了。
不管是最小时间还是最大时间的,都是由某只距离棍子左端或右端最远的蚂蚁决定。
把它找出来就好了。
我找它的方法是在读入蚂蚁位置的时候,判断每只蚂蚁距离左端和右端的距离,
选择最小的那个距离作为每只蚂蚁的距离,再选择这些距离中最大的那只蚂蚁就是要找的那只蚂蚁了,它决定了最小时间。
同理,选择最大的那个距离作为每只蚂蚁的距离,再选择这些距离中最大的那只蚂蚁就是要找的那只蚂蚁了,它决定了最大时间。

我的AC代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int exp,len,num,ant,mi,ma;
	scanf("%d",&exp);
	while(exp--)
	{
		mi=ma=-1;
		scanf("%d%d",&len,&num);
		while(num--)
		{
			scanf("%d",&ant);
			mi=max(mi,min(ant,len-ant));
			ma=max(ma,max(ant,len-ant));
		}
		printf("%d %d\n",mi,ma);
	}
}


 

poj1852ant,布布扣,bubuko.com

poj1852ant

标签:blog   os   2014   代码   io   时间   

原文地址:http://blog.csdn.net/stl112514/article/details/37049477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!