【腾讯马拉松3月22日】 HDU 4510 小Q系列故事——为什么时光不能倒流

来源:互联网 发布:上机考试编程题 编辑:程序博客网 时间:2024/05/29 16:29

腾讯初赛就悲剧在这个题上了,让水题君情何以堪。。。

注意:1、12小时制。

2、减的数目是没有限制的,别忘了拉回来。。

用24小时制的代码改的,WA浪费了一大堆时间,瞬间落后200名。。

#include <iostream>#include <string>#include <stdio.h>#include <cmath>#include <iomanip>using namespace std;int main(){int testcase;cin>>testcase;while(testcase--){int beforetotal,beforeh,beforemin,beforesec;int tpa,tpb,tpc,totaldec;scanf("%d:%d:%d",&beforeh,&beforemin,&beforesec);scanf("%d:%d:%d",&tpa,&tpb,&tpc);beforetotal=beforeh*3600+beforemin*60+beforesec;totaldec=tpa*3600+tpb*60+tpc;totaldec%=86400;if(beforetotal>totaldec)beforetotal=abs(beforetotal-totaldec);else if(beforetotal==0 && totaldec==0)beforetotal=0;elsebeforetotal=86400+beforetotal-totaldec;int a,b,c;a=beforetotal/3600;b=(beforetotal-(3600*a))/60;c=beforetotal-a*3600-b*60;if(a>=12){cout<<setw(2)<<setfill('0')<<a-12<<":"<<setw(2)<<setfill('0')<<b<<":"<<setw(2)<<setfill('0')<<c<<endl;}else{cout<<setw(2)<<setfill('0')<<a<<":"<<setw(2)<<setfill('0')<<b<<":"<<setw(2)<<setfill('0')<<c<<endl;}}return 0;}


原创粉丝点击