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