AcWing比赛时间

奶牛贝茜已经厌倦了牛奶生产行业,并希望转而从事令人兴奋的计算机行业。

为了提高自己的编程能力,她决定参加在线 USACO 比赛。

由于她注意到比赛开始于 2011 年 11 月 11 日(11/11/11),于是她决定下载问题并在 11/11/11 上午 11:11 开始答题。

不幸的是,贝茜的时间管理能力很差,因此她想编写一个快速程序来帮助她确保比赛时间不超过 3 小时(180 分钟)。

给定她停止答题的日期和时间,请帮助贝茜计算她在比赛中花费的总分钟数。

输入格式

共一行,包含三个整数 D,H,M。表示贝茜停止答题的日期,小时,分钟。

用 24 小时制记录时间。

输出格式

输出贝茜在比赛中花费的总分钟数。

如果结束时间比开始时间还早,则输出 −1。

数据范围

11≤D≤14,
0≤H≤23,
0≤M≤59

输入样例:

12 13 14

输出样例:

1563

源代码 

通过对题目分析我们知道这只是一个算时间两个时间相差多少分钟的题目,并且根据数据范围来看,ans即使用暴力算也不会爆int,所以可以将后来的时间转化为分钟前去比赛开始的时间, 如果对于输入的D,H,M进行逐项判断是否小于11从而考虑输出-1的情况是比较麻烦的,我们可以直接用ans来判断,若是ans<0则必定结束时间小于开始时间。

//氵题
#include <iostream>
using namespace std;
int main()
{
    int D,H,M;
    cin>>D>>H>>M;
    int ans=(D*24+H)*60+M-((11*24+11)*60+11);
    if(ans<0)cout<<"-1"<<endl;
    else cout<<ans<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/couchpotatoshy/article/details/125112500