AcWing 668. 游戏时间2
原题链接
中等
作者:
GreyLiu
,
2024-01-24 11:44:40
,
所有人可见
,
阅读 37
C++ 有点绕 主要是“60进制”的换算
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a, b, A, B, x, y;
cin >> a >> b>> A >> B;
if(a == A)
{
if(b == B) printf("O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)");
else if (b < B) printf("O JOGO DUROU 0 HORA(S) E %d MINUTO(S)", B-b);
else printf("O JOGO DUROU 23 HORA(S) E %d MINUTO(S)", B + 60 - b);
}
//这里先统一换算成分钟计算 结果再换成小时:分钟形式 避免思考混乱
else if(a < A)
{
x = ((A*60 + B)-(a*60 + b)) / 60;
y = ((A*60 + B)-(a*60 + b)) % 60;
printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)", x, y);
}
else
{
x = (((A+24)*60 + B)-(a*60 + b)) / 60;
y = (((A+24)*60 + B)-(a*60 + b)) % 60;
printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)", x, y);
}
return 0;
}