【11.13 测试】String Master

 

 

 

 

 

题解:仔细想一下就出来了恩。枚举s1中的 i 节点,枚举s2中的 j 节点。再枚举长度。

            计算有多少个不一样的字符,统计一下如果不超过最大修改次数就尝试更新ans,最后就出来啦。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<queue>
#include<bits/stdc++.h>
using namespace std;
char s2[305],s1[303];
int n,m;
int f[302][302];
int tmp,ans=0;
void Yao_Chen_Lai_Le(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            tmp=0;
            for(int l=1;l<=n;l++){
                if(i+l-1>n) continue;
                if(j+l-1>n) continue;
                tmp+=(s1[i+l-1]!=s2[j+l-1]);     
                if(tmp<=m) ans=max(ans,l);
                else break;
            }
        }
    }
    printf("%d\n",ans);
}
int main(){
    freopen("master.in","r",stdin);
    freopen("master.out","w",stdout);
    scanf("%d %d\n%s\n%s",&n,&m,s1+1,s2+1);
    Yao_Chen_Lai_Le();
    return 0;
}

 

posted @ 2019-11-13 14:31  #Cookies#  阅读(133)  评论(0编辑  收藏  举报