yokobuttonの不定期で競技プログラミングをするブログ

不定期で解けた競技プログラミングコンテストの問題を載せています。

トヨタシステムズプログラミングコンテスト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;
}