けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 326 A - 2UP3DOWN (灰色, 100 点)

落ち着いて整理しよう!

問題概要

100 階のビルで  X 階から  Y 階へと移動したい。

2 階分までの上り、または、3 階分までの下りであれば移動には階段を使い、そうでないときエレベーターを使う。

階段を使うかどうかを判定せよ。

コード

落ち着いて整理しよう。

  • 2 階分までの上りとは、 Y \le X + 2 であることを意味する
  • 3 階分までの下りとは、 X - 3 \le Y であることを意味する

これらをまとめると、階段を使うための判定条件は、

 X - 3 \le Y \le X + 2

となる。C++ で if 文を使う際には、if (X - 3 <= Y && Y <= X + 2) というように、2 つの不等式に分解して && で結んであげる必要があることに注意しよう。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int X, Y;
    cin >> X >> Y;
    
    if (X - 3 <= Y && Y <= X + 2)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
}