思路:
直接比较橘色框里的取第一次相等,即可。
#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; } }