以下の内容はhttps://blog.hamayanhamayan.com/entry/2019/11/16/233718より取得しました。


Echo [AtCoder Beginner Contest 145 B]

https://atcoder.jp/contests/abc145/tasks/abc145_b

解説

https://atcoder.jp/contests/abc145/submissions/8482706

Nが奇数であれば、同じものが2回繰り返された文字列であることはありえない。
Nが偶数なら、Sを前半と後半に分割して等しいかどうかを判定すればいい。

int N; string S;
//---------------------------------------------------------------------------------------------------
#define yes "Yes"
#define no "No"
string solve() {
    if (N % 2 == 1) return no;

    string A = S.substr(0, N / 2);
    string B = S.substr(N / 2);

    if (A == B) return yes;
    return no;
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> S;
    cout << solve() << endl;
}



以上の内容はhttps://blog.hamayanhamayan.com/entry/2019/11/16/233718より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14