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

hamayanhamayan's blog

ss [AtCoder Beginner Contest 066 B]

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