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

hamayanhamayan's blog

うし数列 [yukicoder No.791]

https://yukicoder.me/problems/no/791

解説

https://yukicoder.me/submissions/319032

場合分けで解く。
あまりに巨大な数は整数型で受け取らず、文字列型で受け取って処理していく。
様式チェックをして、与えられたNがうし数列になっているか確認しよう。
もし、うし数列であれば、文字列長-1が答え。

string N;
//---------------------------------------------------------------------------------------------------
int solve() {
    int n = N.length();

    if (N[0] != '1') return -1;
    if (n == 1) return -1;
    rep(i, 1, n) if (N[i] != '3') return -1;

    return n - 1;
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    cout << solve() << endl;
}