首页 > 其他 > 详细

POJ 2501

时间:2015-06-11 12:29:55      阅读:259      评论:0      收藏:0      [点我收藏+]
 1 #include<iostream>
 2 #include<iomanip>
 3 #include<stdio.h>
 4 #include<string>
 5 #include<math.h>
 6 using namespace std;
 7 
 8 int main()
 9 {
10     //freopen("acm.acm","r",stdin);
11     string s;
12     int i;
13     double speed = 0.0;
14     double road;
15     double time;
16     double time1;
17     double past;
18     time = 0;
19     past = 0;
20     road = 0;
21     getline(cin,s);
22     time = (double(s[0]-0)*10.0+double(s[1]-0))+(double(s[3]-0)*10.0+double(s[4]-0))/60.0+(double(s[6]-0)*10.0+double(s[7]-0))/3600.0;
23     if(s.length() > 8)
24     {
25         for(i =  9; i < s.length(); ++ i)
26         {
27             speed = speed*10.0 + double(s[i]-0);
28         }
29     }
30     else
31     {
32         cout<<s<<" "<<"0.00 km"<<endl;
33     }
34     time *= 60;
35     while(getline(cin,s))
36     {
37         if(s.length() > 8)
38         {
39             time1 = (double(s[0]-0)*10.0+double(s[1]-0))+(double(s[3]-0)*10.0+double(s[4]-0))/60.0+(double(s[6]-0)*10.0+double(s[7]-0))/3600.0;
40             time1 *= 60.0;
41             past += speed*(time1-time);
42             time = time1;
43             speed = 0;
44             for(i =  9; i < s.length(); ++ i)
45             {
46                 speed = speed*10.0 + double(s[i]-0);
47             }
48         }
49         if(s.length() == 8)
50         {
51             time1 = (double(s[0]-0)*10.0+double(s[1]-0))+(double(s[3]-0)*10.0+double(s[4]-0))/60.0+(double(s[6]-0)*10.0+double(s[7]-0))/3600.0;
52             time1 *= 60.0;
53             cout<<s<< ;
54             cout<<setiosflags(ios::fixed)<<setprecision(2)<<(speed*(time1-time)+past)/60.0<< <<"km"<<endl;
55         }
56     }
57     
58 }

 

POJ 2501

原文:http://www.cnblogs.com/gavinsp/p/4568445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!