题目描述
普通情况:两个时间都转换成分为单位的形式,然后一直往后找即可。
特殊情况:同一个时间点,直接输出24和0。
最坏时间复杂度:O(1139)
#include<bits/stdc++.h>
using namespace std;
int a,b,c,d;
int sumn;
int main(){
cin>>a>>b>>c>>d;
if(a==c&&b==d){
printf("O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)");
return 0;
}
int sum1=a*60+b,sum2=c*60+d;
while(sum1!=sum2){
if(sum1==1440) sum1=1;
else sum1++;
sumn++;
}
int h=sumn/60,m=sumn%60;
printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)",h,m);
return 0;
}