按照题意模拟即可

注意事项

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;
}