http://abc066.contest.atcoder.jp/tasks/abc066_b
解法
http://abc066.contest.atcoder.jp/submissions/1397256
偶文字列の文字列長は偶数であり、この文字列長全てを全探索する。
先頭から長さiの偶文字列を取るとき、substrメソッドを使って、0から長さi/2の文字列と、i/2から長さi/2の文字列を切り出して等しいかチェックすればいい。
string S; //--------------------------------------------------------------------------------------------------- int solve() { int N = S.length(); int ans = 0; rep(i, 2, N - 1) if (i % 2 == 0) { string A = S.substr(0, i / 2); string B = S.substr(i / 2, i / 2); if (A == B) ans = max(ans, i); } return ans; } //--------------------------------------------------------------------------------------------------- void _main() { cin >> S; cout << solve() << endl; }