Official

A - Is it rated? Editorial by yuto1115

解説

AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。


\(2\) つの整数 \(R,X\)(ただし \(X\)\(1\) または \(2\))が与えられるので、\(X\) の値および \(R\) の値の範囲に応じて適切に YesNo のいずれかを出力する問題です。

この問題を解くプログラムを作成するためには、整数の 入出力 および 条件分岐 という \(2\) つの要素が必要になります。条件分岐のパートについては、まず \(X\) の値(\(1\) or \(2\))で条件分岐をしたのち、それぞれの分岐先においてさらに \(R\) の値の範囲で条件分岐を行う 二重の条件分岐 を用いると、論理構造が明確なプログラムを書くことができます。

それぞれの要素を実際にどのようにプログラム上で表現するかは使用するプログラミング言語によって異なるため、下記の実装例 (C++, Python) や、使用している言語のチュートリアルなどをご参照ください。

特に、ある変数 \(x\) の値が \(A\) 以上 \(B\) 以下であるかを判定したいとき、Python では A <= x <= B と書けるのに対し、C++ では A <= x && x <= BA <= x and x <= B などと書く必要があることに注意してください。

実装例 (C++) :

#include <bits/stdc++.h>

using namespace std;

int main() {
    int r, x;
    cin >> r >> x;
    if (x == 1) {
        if (1600 <= r and r <= 2999) {
            cout << "Yes" << endl;
        } else {
            cout << "No" << endl;
        }
    } else {
        if (1200 <= r and r <= 2399) {
            cout << "Yes" << endl;
        } else {
            cout << "No" << endl;
        }
    }
}

実装例 (Python) :

r, x = map(int, input().split())
if x == 1:
  if 1600 <= r <= 2999:
    print("Yes")
  else:
    print("No")
else:
  if 1200 <= r <= 2399:
    print("Yes")
  else:
    print("No")

posted:
last update: