好贷网好贷款

浙江大学ACM俱乐部 1028:行车路程

发布时间:2016-12-5 4:38:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"浙江大学ACM俱乐部 1028:行车路程",主要涉及到浙江大学ACM俱乐部 1028:行车路程方面的内容,对于浙江大学ACM俱乐部 1028:行车路程感兴趣的同学可以参考一下。

1.说白了,读取输入就两种可能,一种是一个变量一个变量读取,另一种就是读取字符串,读取一个文件的话,也是按照字符串处理,所以说白了,其实还是在读字符串。 2.为了读懂题目,最好自己把测试数据好好看看,再分析数量关系。 同样参见清溪浅水的博客,我只是为了学习,而且凡是看了别人的我都会标注的。尊重其他人的原创。向清溪浅水同学致敬。 题目描述 小明开车从杭州去上海,但是车上的里程计坏了,无法计算里程了。幸好速度计等其他原件正常,所以小明可以保持恒定的速度行驶,并且可以根据路况调整行车速度。 同时小明身上有一块秒表,并且记录了从出发到每次行车速度改变时所经过的时间。现在小明想知道出发之后的某些时刻他已行驶的路程是多少。 输入格式 输入包含若干行。每行先输入一个从出发开始所经过的时间,格式为hh:mm:ss,如果此时汽车速度改变了,则在时间之后空一格输入一个正整数,表示新的速度,单位为km/h。 行程最开始时汽车是静止的,输入中的时间保证是按照非递减顺序给出的,每个时刻至多只有一次速度改变。 输出 对于每组输入,输出每个查询(输入中没有速度改变的那些行就是查询)的时间和此时已经经过的路程,具体格式见输出样例。 样例输入 00:00:01 100 00:15:01 00:30:01 01:00:01 50 03:00:01 03:00:05 140 样例输出 00:15:01 25.00 km 00:30:01 50.00 km 03:00:01 200.00 km #include <iostream> #include <cstring> #include <iomanip> using namespace std; int main() { char a[30]; int h,m,s,l; double v=0,d=0; int now=0,time=0; while(gets(a)) { h=(a[0]-'0')*10+a[1]-'0'; m=(a[3]-'0')*10+a[4]-'0'; s=(a[6]-'0')*10+a[7]-'0'; now=h*3600+m*60+s; l=strlen(a); if(l==8) { d+=v*(now-time); time=now; for(int j=0;j<8;++j) cout<<a[j]; cout<<" "<<fixed<<setprecision(2)<<d/1000<<" km"<<endl; } else { d+=v*(now-time); time=now; v=0; for(int i=9;i<l;++i) v=v*10+a[i]-'0'; v/=3.6; } } return 0; }

上一篇:使用Netty进行文件传输
下一篇:win7配置FTP服务器

相关文章

相关评论