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

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

AtCoder ABC 295 A - Probably English (7Q, 灰色, 100 点)

 N 個の文字列の中に、条件を満たすものがあるかどうかを調べる問題!

問題概要

 N 個の文字列  W_{1}, W_{2}, \dots, W_{N} の中に、and, not, that, the, you であるものが存在するかどうかを判定せよ。

考えたこと

C++ では、vector<string> 型で入力を受け取るとよい(変数名を W などとする)。

そして、W[0], W[1], ..., W[N-1] について、and, not, that, the, you のいずれかに一致するかどうかを判定すればよい。

コード

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

int main() {
    int N;
    cin >> N;
    vector<string> W(N);
    for (int i = 0; i < N; i++) cin >> W[i];

    bool res = false;
    for (int i = 0; i < N; i++) {
        if (W[i] == "and" || W[i] == "not" || W[i] == "that"
            || W[i] == "the" || W[i] == "you") {
            res = true;
        }
    }
    cout << (res ? "Yes" : "No") << endl;
}