Vjudge笔记
POJ-1852 Ants
题意:一群蚂蚁在一根长l厘米的水平杆上行走,每根杆的速度恒定为1厘米/秒。当一只蚂蚁到达杆的末端时,它立刻从杆上掉下来。当两只蚂蚁相遇时,它们会转身向相反的方向走。我们知道蚂蚁在柱子上的原始位置,不幸的是,我们不知道蚂蚁行走的方向。你的任务是计算所有蚂蚁从极点上掉下来所需要的最早和最晚的可能时间。
解读:
1.无视碰撞。
2.最短时间 找到最靠近杆中点的蚂蚁
3.最长时间 找到最靠近极点的蚂蚁
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
while(n--){
int cd,gs;
scanf("%d%d",&cd,&gs);
int mwz=0,wz;
int nwz=0;
for(int i=0;i<gs;i++){
scanf("%d",&wz);
if(wz<(cd/2)) {mwz=max(mwz,cd-wz); nwz=max(nwz,wz);}
else {mwz=max(mwz,wz); nwz=max(nwz,cd-wz); }
//mwz既找到最靠近极点的蚂蚁
//nwz既找到最靠近中点的蚂蚁
}
printf("%d %d\n",nwz,mwz);
}
return 0;
}