本题的地址: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;
}