题目大意:有两个表,每天都会慢一点时间,给出每天慢得秒数,问下一次重合的时刻。
解题思路:时刻重合也就是说整整差了一周,一周是12小时,用12小时的秒数除以两个表的相差那就是需要多少天的时间后重合,知道了需要多少天*每一天某个表走的时间(注意要减去少走的时间)即使答案,化成时间的格式即可,注意0时显示成12时。
#include<bits/stdc++.h> using namespace std; int main() { int m, c, h, t1, t2; double t3; long long n; while(~scanf("%d%d",&t1,&t2)) { if(t1==t2) { printf("%d %d 12:00\n",t1,t2); continue; } c=abs(t1-t2); t3=12.0*3600.0/c; long long n=t3*(24*3600-t1); n %=43200; m=n/60; n%=60; if(n>=30) m++; h=m/60; m%=60; if(h==0) h=12; printf("%d %d %02d:%02d\n",t1,t2,h,m); } return 0; }
时间: 2024-10-12 20:58:49