题目描述
读取四个整数 A,B,C,D,用来表示游戏的开始时间和结束时间。
其中 A和 B 为开始时刻的小时和分钟数,C 和 D 为结束时刻的小时和分钟数。请你计算游戏的持续时间。比赛最短持续 1分钟,最长持续 24小时。
输入格式
共一行,包含四个整数 A,B,C,D。
输出格式
输出格式为 O JOGO DUROU X HORA(S) E Y MINUTO(S)
,表示游戏共持续了 X 小时 Y 分钟。
数据范围
0≤A,C≤23,0≤B,D≤59
输入样例1:
7 8 9 10
输出样例1:
O JOGO DUROU 2 HORA(S) E 2 MINUTO(S)
输入样例2:
7 7 7 7
输出样例2:
O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)
输入样例3:
7 10 8 9
输出样例3:
O JOGO DUROU 0 HORA(S) E 59 MINUTO(S)
代码
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
int minute1=a*60+b;
int minute2=c*60+d;
int h=(minute2-minute1+1440)%1440/60;
//minute1与minute2的差值可能是负数,所以加上1440保证结果在一天之内,然后mod1440保证获取到这个范围内的结果,最后除以60得到小时数
int m=(minute2-minute1+1440)%1440%60;//对60取模得到0-59之间的结果,即分钟数
if(h==0&&m==0)//说明时间差正好24h
{
h=24;
m=0;
}
cout<<"O JOGO DUROU "<<h<<" HORA(S) E "<<m<<" MINUTO(S)";
return 0;
}
标签:游戏,668,int,样例,60,1440,minute2,minute1,AcWing
From: https://blog.csdn.net/weixin_73598089/article/details/139676663