387A : George and Sleep
問題リンク:Problem - 387A - Codeforces
問題概要:
ある人が目覚めた時間とベッドにはいった時間が与えられる。
その人はどのくらいの間寝ていたか?
解法:
目が覚めた時間とベッドにはいった時間を分単位に直しておく
(目が覚めた時間)ー(ベッドに入った時間)が負なら24*60を加える
そうした値が答えとなる
簡単なんだけど、以前解けなくてパニックに陥った問題
これでもう今後は大丈夫!
コード:
#include<iostream> #include<cstdio> #define REP(i,s,n) for(int i=s;i<n;i++) #define rep(i,n) REP(i,0,n) using namespace std; int main(){ int h1,h2,m1,m2; scanf("%d:%d",&h1,&m1); scanf("%d:%d",&h2,&m2); int ans = (h1*60+m1) - (h2*60+m2); if(ans < 0)ans += 24*60; printf("%02d:%02d\n",ans/60,ans%60); return 0; }