STRPOW - Lũy thừa của chuỗi

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Xâu lũy thừa bậc ~K~ của một xâu ~S~ là một xâu ~T~ mà ~T~ được tạo thành bằng cách viết ~K~ lần xâu ~S~ liên tiếp nhau. Ví dụ: xâu lũy thừa bậc 3 của xâu "abc" là xâu "abcabcabc".

Cho số nguyên ~K~ và 2 xâu ~S~, ~T~. Yêu cầu kiểm tra xem xâu ~T~ có phải là xâu lũy thừa bậc ~K~ củaxâu ~S~ hay không?

Input

  • Gồm 3 dòng: 2 dòng đầu lần lượt chứa xâu ~S~ và xâu ~T~, dòng cuối chứa số nguyên ~K~.

Giới hạn:

  • Hai xâu ~S~, ~T~ chỉ chứa các kí tự latin in thường. Độ dài mỗi xâu không quá 1000 kí tự.
  • ~1 ≤ K ≤ 1000~.

Output

  • Nếu xâu ~T~ là xâu lũy thừa bậc ~K~ của xâu ~S~ in YES, ngược lại in NO

Sample

Input #1
abc
abcabcabc
3
Output #1
YES
Input #2
abc
abcabcabc
2
Output #2
NO
Input #3
xyz
abc
1
Output #3
NO
Input #4
x
xxxx
4
Output #4
YES

Problem source: Kc97ble - Free Contest


Bình luận

Please read the guidelines before commenting.



  • 0
    Duong_Thanh_Khiem_L8  đã bình luận lúc 26, Tháng 7, 2026, 16:39

    FULL AC:

    #include <bits/stdc++.h>
    using namespace std;
    string s, t;
    int k;
    int main(){
        getline(cin, s);
        getline(cin, t);
        cin >> k;
        string n = "";
        for (int i = 1;i <= k;i++)n += s;
        if (n == t)cout << "YES";
        else cout << "NO";
        return 0;
    }
    

  • 2
    congtyluuthaibao1978  đã bình luận lúc 5, Tháng 12, 2025, 4:38

    include <iostream>

    using namespace std;

    int main() { string s,t,ss; int k,t1; cin>>s>>t>>k; t1=k; while(t1--) { ss+=s; } if(ss==t) { cout<<"YES"; } else { cout<<"NO"; } return 0; }