BUPT OJ89 时间间隔

44 篇文章 3 订阅

题目描述

给出两个时间(24小时制),求第一个时间至少要经过多久才能到达第二个时间。给出的时间一定满足的形式,其中 x y 分别代表小时和分钟。 0x<24,0y<60

输入格式

第一行为数据组数 T ( 1T50000 )。
每组数据包括两行,分别代表两个时间

 

输出格式

每组数据输出一行,表示最少经过的分钟数。

输入样例

2
7:00
7:00
7:00
8:00

输出样例

0
60

之前居然wa了简直你能信www

实力还是太鶸了, 这是第二次ac的代码


/*
USER_ID: test#birdstorm
PROBLEM: 89
SUBMISSION_TIME: 2014-02-26 10:16:08
*/
#include <stdio.h>
 
main()
{
    int h1, h2, m1, m2, t, n;
    scanf("%d",&n);
    while(n--){
        scanf("%d:%d%d:%d", &h1, &m1, &h2, &m2);
        t=(h2-h1)*60+(m2-m1);
        printf("%d\n",t+1440*(t<0));
    }
    return 0;
}


第一次ac代码在这里


/*
USER_ID: test#birdstorm
PROBLEM: 89
SUBMISSION_TIME: 2014-02-26 01:00:21
*/
#include <stdio.h>
 
main()
{
    int hh, mm, n;
    int h1, m1, h2, m2;
    scanf("%d",&n);
    while(n--){
        scanf("%d:%d%d:%d", &h1, &m1, &h2, &m2);
        hh = h2 - h1; mm = m2 - m1;
        if(hh < 0) hh += 24;
        if(mm < 0)
        {
            mm += 60;
            hh--;
            if(hh < 0) hh += 24;
        }
        printf("%d\n", hh*60+mm);
    }
    return 0;
}

真是想多了= =


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值