トヨタシステムズプログラミングコンテスト2021(AtCoder Beginner Contest 228) A - On and Off
問題の要約
毎日S時0分に部屋の電気をつけ,毎日T時0分に消す。
電気をつけている間に日付が変わることもある。
X時30分に部屋の電気がついているかどうか判定しろ。
制約
0<=S,T,X<=23
S≠T
入力
S T X
考え方
1,まずS<T,S>Tで条件分岐したい。
2,S<Tのとき
電気がついているのはSからTまで。
X時30分のときに電気がついているか判定しなければいけない。
XはS以上T未満の範囲ならok。
3,S>Tのとき
電気がついているのは,Sから24時(0時)または0時からT時まで。
X時30分のときに電気がついているか判定しなければいけない。
XはS以上またはT未満ならばok。
実際のプログラム
#include<iostream>
using namespace std;
int main(){
int S,T,X;
cin >> S >> T >> X;
if(S < T){
if(S <= X && X < T){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}else if(S > T){
if(S <= X || X < T){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}
return 0;
}