《挑战程序设计竞赛》1.6.2-POJ的题目Ants

版权声明:Laugh https://blog.csdn.net/laugh12321/article/details/79954164

#include <stdio.h>
#define max(a, b)    (((a) > (b)) ? (a) : (b)) 
#define min(a, b)    (((a) < (b)) ? (a) : (b))
#define MAX_N 1000000       
int main(void)
{
	int L, n, i;
	int x[MAX_N];
	
	scanf("%d %d", &L, &n);
	for (i = 0; i < n; i++)
		scanf("%d", &x[i]);
	
	// 计算最短时间	
	int minT = 0; 
	for (i = 0; i < n; i++)
		minT = max(minT, min(x[i], L - x[i]));
	
	// 计算最长时间
	int maxT = 0;
	for (i = 0; i < n; i++)
		maxT = max(maxT, max(x[i], L - x[i]));	
		
	printf("%d %d\n", minT, maxT);
	
	return 0;
}


    事实上,可以知道两只蚂蚁相遇后,当它们保持原样交错而过继续前进也不会有任何问题。这样看来,可以认为每只蚂蚁都是独立运动的,所以要求最长时间,只要求蚂蚁到竿子端点的最大距离就好了。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭