码迷,mamicode.com
首页 > 其他好文 > 详细

UVA10339 Watching Watches

时间:2016-07-13 11:47:30      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

题目大意:有两个表,每天都会慢一点时间,给出每天慢得秒数,问下一次重合的时刻。

解题思路:时刻重合也就是说整整差了一周,一周是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;
}

 

UVA10339 Watching Watches

标签:

原文地址:http://www.cnblogs.com/Noevon/p/5666254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!