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

hamayanhamayan's blog

POSTal Code [第六回 アルゴリズム実技検定 A]

https://atcoder.jp/contests/past202104-open/tasks/past202104_a

解説

https://atcoder.jp/contests/past202104-open/submissions/22645201

実装問題。
ループ(必須ではないか)と文字列が扱えれば解ける問題。
数字の判定に戸惑うかもしれない。
C++では文字列のAsciiレベルでの比較ができるので、その文字について'0'以上'9'以下であれば数字であるといえる。
判定では条件を満たさないならNoを返して、全部条件が満たされていることが確認できればYesを返す。
否定で判定する必要があるので注意。

string S;
//---------------------------------------------------------------------------------------------------
#define yes "Yes"
#define no "No"
string solve() {
    rep(i, 0, 8) {
        if (i == 3) {
            if (S[i] != '-') return no;
        }
        else {
            if (!('0' <= S[i] && S[i] <= '9')) return no;
        }
    }
    return yes;
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> S;
    cout << solve() << endl;
}