はまやんはまやんはまやん

hamayanhamayan's blog

AcCepted [AtCoder Beginner Contest 104 B]

https://beta.atcoder.jp/contests/abc104/tasks/abc104_b

解法

https://beta.atcoder.jp/contests/abc104/submissions/2953007

実装をする。
複雑な条件のyes/noは関数を分けたほうがいい。
小文字であることを判定するには'a'~'z'の間に文字があることを使うといい。

string S;
//---------------------------------------------------------------------------------------------------
#define yes "AC"
#define no "WA"
string solve() {
    int n = S.length();
 
    if (S[0] != 'A') return no;
    if (S[1] < 'a' or 'z' < S[1]) return no;
    if (S[n-1] < 'a' or 'z' < S[n-1]) return no;
 
    int C = 0, x = 0;
    rep(i, 2, n - 1) {
        if ('a' <= S[i] and S[i] <= 'z') x++;
        else if (S[i] == 'C') C++;
        else return no;
    }
    if (C == 1) return yes;
    return no;
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> S;
    cout << solve() << endl;
}