计时问题

这篇是全英文的题目,看起来有些费劲呀,所以想搞好ACM,一定的英语基础还是必不可少的,否则连题目都看不懂何谈做题呢!!记得上次是中文的题目,没理解题目的意思,但这次却是英文的,先看懂再说吧!


虽然花了好长时间大致看懂了,但做起来却想当然了,导致提交总是wrong answer,认真反复思考过后,终于完成了这题,所以,以后做题先在稿纸上规划好,不急着打代码,边敲边想,想好了之后再敲代码,那样会是事半功倍滴!


Description

Bessie the cow is getting bored of the milk production industry, and wants to switch to an exciting new career in computing. To improve her coding skills, she decides to compete in the on-line competitions. Since she notes that the contest starts on November 11, 2011 (11/11/11), she decides for fun to download the problems and begin coding at exactly 11:11AM on 11/11/11. 

Unfortunately, Bessie's time management ability is quite poor, so she wants to write a quick program to help her make sure she does not take longer than the 3 hour (180 minute) time limit for the contest. Given the date and time she stops working, please help Bessie compute the total number of minutes she will have spent on the contest. 

Input

* Line 1: This line contains 3 space-separated integers, D H M,specifying the date and time at which Bessie ends the contest. D will be an integer in the range 11..14 telling the day of the month; H and M are hours and minutes on a 24-hour clock(so they range from H=0,M=0 at midnight up through H=23,M=59 at 11:59 PM). 


Output

* Line 1: The total number of minutes spent by Bessie in the contest,or -1 if her ending time is earlier than her starting time.

Sample Input

12 13 14

Sample Output

1563

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int D,H,M,total;
    int flag=-1;
    while(scanf("%d %d %d",&D,&H,&M)!=EOF)
    {    if (D<11||D>14)
        {printf("%d\n",flag);break;}
        if (H<0||H>23)
        {printf("%d\n",flag);break;}
        if(M<0||M>59)
        {printf("%d\n",flag);break;}
        if(D==11)
        {
           if(H<11||H>23)
           {printf("%d\n",flag);break;}
           if(M<11||M>59)
           {printf("%d\n",flag);break;}

           total=H*60+M-671;
        }
        else if(D==12) total=24*60+H*60+M-671;
           else if(D==13)total=48*60+H*60+M-671;
            else if(D==14)total=72*60+H*60+M-671;
    printf("%d",total);
    }

    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值