2020-2-2 摸底测试C 字符串处理
(由于上一道题抄崩了索性就不抄题了)
大意:给定一个字符串t,要求制作一个长度尽量小的串,里面包含k个串t。
是的,我一开始就想到了:直接KMP就vans啦!
然后发现我KMP写错了...心态爆炸。
最后只好用暴力过的
#include <cstdio> #include <cstdlib> #include <cstring> int cnt,cnti,n,k,next[2002]; int ax(int a,int b){return a>b?a:b;} char a[2002]; int main(){ scanf("%d%d",&n,&k); scanf("%s",a); for(int i=n-1;i>0;i--){//枚举公共前后缀长度 bool judge=true; for(int j=0;j<i;j++){ if(a[j]!=a[n-i+j]){ judge=false; break; } } if(judge){ cnt=i; break; } } printf("%s",a); for(int i=1;i<k;i++) for(int j=cnt;j<n;j++) printf("%c",a[j]); return 0; }

浙公网安备 33010602011771号