本题的地址:http://codeforces.com/contest/1029/problem/A
废话不多说,直接上代码!
#include<bits/stdc++.h>
using namespace std;
int kmp[100];
int main(){
string s;
int n,p;
scanf("%d%d",&n,&p);
cin>>s;
int len=s.length();
int k=0;
for(int i=1;i<len;i++){
while(k&&s[i]!=s[k])
k=kmp[k];
if(s[i]==s[k])kmp[i+1]=++k;
}
cout<<s;
for(int i=2;i<=p;i++)
for(int j=kmp[len];j<len;j++)
cout<<s[j];
return 0;
}