【腾讯马拉松3月22日】 HDU 4510 小Q系列故事——为什么时光不能倒流
腾讯初赛就悲剧在这个题上了,让水题君情何以堪。。。
注意: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;}