向前走莫回头❤

【bzoj 十连测】[noip2016第一场]Problem A: String Master(暴力)


【题解】【暴力】

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char a[310],b[310];
int len,k,ans;
inline void solve()
{
    int i,j;
    for(i=1;i<=len;++i)
     for(j=1;j<=len;++j)
      if(a[i]==b[j]&&len-j+1>=ans&&len-i+1>=ans)
       {
        int t1=i,t2=j,sum=0;
        while(t1<=len&&t2<=len&&a[t1]==b[t2]) t1++,t2++,sum++;
        if(ans<sum) ans=sum;
       }
    printf("%d\n",ans);
}
int main()
{
    //freopen("master.in","r",stdin);
    //freopen("master.out","w",stdout);
    int i,j;
    scanf("%d%d",&len,&k);
    scanf("%s%s",a+1,b+1);
    if(len==k) {printf("%d\n",len); return 0;}
    if(!k) {solve(); return 0;}
    for(i=1;i<=len;++i)
     for(j=1;j<=len;++j)
      if(len-j+1>=ans&&len-i+1>=ans)
       {
        int t1=i,t2=j,sum=0,c=0;
        while(t1<=len&&t2<=len&&(c<k||a[t1]==b[t2])) 
         if(a[t1]!=b[t2]) c++,t1++,t2++,sum++;
          else t1++,t2++,sum++;
        if(ans<sum) ans=sum;
       }
    printf("%d\n",ans);
    return 0;
}


posted @ 2016-11-16 19:46  lris0-0  阅读(121)  评论(0)    收藏  举报
过去的终会化为美满的财富~o( =∩ω∩= )m