自己想了很復雜,還考慮了追擊再追擊的問題,結果做到最后還給了個WA。。faint
查了資料,換個角度想問題居然那么簡單。。。。
事實上,只要問自己一個問題就能解決這道題,Charley是和哪一位同時到達?
沒錯,答案是和最早到達的那個人一起到達的(當然,出發時間<0的不算了)。也就是把問題轉化為求出每個人到達的時間即可。
#include<stdio.h>
#define N 100
int main()


{
int arr_time,last;
int num;
int ii,jj,kk;
int speed;
float tmp;
for(;scanf("%d",&num);)

{
if(!num)
return 1;
for(ii=0,last=10000;ii<num;ii++)

{
scanf("%d%d",&speed,&kk);
if(kk>=0)

{
tmp=3600*4.5/speed+kk;

/**//*printf("tmp:%f %d",tmp,(int)tmp);*/
if(tmp-(int)tmp<.001)
arr_time=(int )tmp;
else
arr_time=1+(int )tmp;
last= ( arr_time<last)?arr_time:last;

/**//* printf("last%d",last);*/
}
}
printf("%d\n",last);
}
}