牛客OI周赛13-普及组T1题解

zn的手环

https://ac.nowcoder.com/acm/contest/2971/A

按照题意模拟即可

注意事项

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;
}
全部评论
举一个例子: 举个例子: 5:01 a.m 12:01 a.m 其中的12:10 a.m应该是午夜的0点10分,也就是睡了19个小时,但根据您的算法,解出来是7个小时,这是不是有问题?
点赞 回复
分享
发布于 2019-12-12 15:32

相关推荐

比亚迪 求帮选offer 12k*1.36*12 双非硕
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务