按照题意模拟即可
注意事项
1.若睡与醒的上下午不同,则把醒时+12
2.若分<0,则分+60,时-1
3.若时<0,则时+24
#include<bits/stdc++.h>
using namespace std;
int h1,h2,m1,m2,hh,mm,h,m;
char a[3],b[3];
signed main(){
scanf("%d:%d %s\n",&h1,&m1,&a);
scanf("%d:%d %s\n",&h2,&m2,&b);
scanf("%dh%dmin",&hh,&mm);
if(a[0]!=b[0])
h2+=12;
h=h2-h1,m=m2-m1;
if(m<0)m+=60,--h;
if(h<0)h+=24;
if(h==hh&&m==mm)
puts("YES");
else
puts("NO"),cout<<h<<"h"<<m<<"min";
return 0;
} 
京公网安备 11010502036488号