ABC 023 B 手芸王

2015/05/13 (Wed) ABC AtCoder 文字列

問題

問題文

方針

“b” から初めて,長さが $N$ 以上になるまで実際に作っていく.

実装

signed main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int N;
    cin >> N;
    string s;
    cin >> s;
    string cur = "b";
    int step = 1;
    while(cur.size() < s.size()){
        int sw = step%3;
        if(sw==1){
            cur = "a" + cur + "c";
        } else if(sw==2){
            cur = "c" + cur + "a";
        } else {
            cur = "b" + cur + "b";
        }
        ++step;
    }
    cout << (s==cur ? step-1 : -1) << endl;
}