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; }