思路:

直接比较橘色框里的取第一次相等,即可。

A. Many Equal Substrings(水题)_编程

 

#include<iostream>
#include<string>
using namespace std;

string x, y;
int  n, m, k;

int main(){
    cin>>n>>m;
    cin>>x;
    for(int i=1;i<n;++i){
        if(x.substr(i, n)==x.substr(0, n-i)){y=x.substr(n-i, n);  k=1; break;}
    }
    if(k){
    cout<<x;
    for(int i=0;i<m-1;++i)
        cout<<y;
    cout<<endl;
    }else{
        for(int i=0;i<m;++i)
            cout<<x;
        cout<<endl;
    }
}