[Buổi 20][Chuỗi][RDD] Bài 20: Chuỗi nhân bản


LÀM BÀI

Points: 15
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Chuỗi nhân bản

Bối cảnh

Cho một số nguyên dương \(N\) và một chuỗi \(S\) có độ dài \(N\) gồm các chữ cái tiếng Anh in thường.

Yêu cầu

Xác định xem chuỗi có phải là sự nối tiếp của hai bản sao của một chuỗi nào đó hay không. Tức là, xác định xem có tồn tại một chuỗi \(T\) sao cho \(S = T + T\).

Input

Dữ liệu nhập được cung cấp từ đầu vào chuẩn theo định dạng sau:

\(N\)

\(S\)

Output

Nếu \(S\) là sự nối tiếp của hai bản sao của một chuỗi nào đó, in ra "Yes"; ngược lại, in ra "No".

Ràng buộc

\(1 \leq N \leq 100\)

\(S\) bao gồm các chữ cái tiếng Anh in thường.

\(|S| = N\)

Ví dụ 1

Input

6
abcabc

Output

Yes

Giải thích ví dụ

Giả sử \(T = abc\), và \(S = T + T\).

Ví dụ 2

Input

6
abcadc

Output

No

Giải thích ví dụ

Ví dụ 1

  • Input: 6 abcabc
  • Giải thích: Chuỗi "abcabc" có thể được chia thành hai bản sao của "abc", nên in ra "Yes".

Ví dụ 2

  • Input: 6 abcadc
  • Giải thích: Chuỗi "abcadc" không thể chia thành hai bản sao giống nhau, nên in ra "No".

Thông tin học tập

  • Buổi: B20
  • Concepts: std::string, concatenation, string comparison
  • Giới hạn kiến thức: B01-B20
  • Time limit: 1 second
  • Memory limit: 20 MB
  • Point: 15

Comments

There are no comments at the moment.

Zalo