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

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

AtCoder ABC 350 A - Past ABCs (7Q, 灰色, 100 点)

構文解析の初歩ですね。C++ なら、scanf() 関数を使うと楽ですね。

問題概要

"ABC197" のような長さ 6 の文字列  S が与えられる。

何回目の ABC であるかを判定し、それが 316 回を除く、1〜349 回のいずれかであるかどうかを判定せよ。

解法

C++ の場合、cin よりも scanf() を使う方が楽。int 型変数 N を用意して、

scanf("ABC%d", &N);

というようにして、数値情報のみを取得できる。この値が 316 を除く 1〜349 のいずれかであるかを判定すればよい。

コード

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

int main() {
    int N;
    scanf("ABC%d", &N);
    if (N >= 1 && N <= 349 && N != 316)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
}