B - 手芸王 / AtCoderBeginnerContest#023
#include <iostream> #include <string> using namespace std; void Solve(int n) { string s, str="b"; int answer; cin >> s; for (int i=1; i<=n; ++i) { if (i%3 == 1) str='a'+str+'c'; else if (i%3 == 2) str='c'+str+'a'; else str='b'+str+'b'; if (s == str) { answer=i; break; } if ( s.length() < str.length() ) { answer=-1; break; } } if (s == "b") answer=0; cout << answer << endl; } int main(void) { int n; cin >> n; Solve(n); return 0; }
問題文に書かれている通り実装する。入力した文字列と同じになれば、それまでの回数を表示。
〜了〜