HDU3232 Crossing rivers

思路:这题关键一点就是根据题目的描述和测试数据得到启发,船都是

   从对岸划过来的。心中有具体场景,就可以很简单了。

 1 #include<cstdio>
 2 int main()
 3 {
 4     double d, p, l, v, sum, flag = 0;
 5     int n, kase = 1;
 6     while(~scanf("%d %lf", &n, &d))
 7     {
 8         if(n == 0 && d == 0) break; //跳出
 9         sum = 0;
10         while(n--)
11         {
12             scanf("%lf %lf %lf", &p, &l, &v);
13             sum += 2*l/v; //船从对岸过来,再过河,在水上共花费的时间
14             d -= l; //剩余的就是陆地上的长度。
15         }
16         if(n == 0)
17         {
18             printf("Case %d: ", kase ++); //n为0时则直接输出d
19             printf("%.3lf\n", d);
20             continue;
21         }
22         sum += d;   //直接加上陆地上的长度,就是总时间
23         //if(flag ++) printf("\n"); //刚开始用的是这步,结果PE了一发。
24         printf("Case %d: ", kase ++);
25         printf("%.3lf\n\n", sum); //注意输出格式
26     }
27     return 0;
28 }
View Code

 

posted on 2015-09-23 23:38  改写历史,倾尽天下  阅读(160)  评论(0编辑  收藏  举报

导航