提交时间:2025-02-10 16:34:07
运行 ID: 36267
#include<bits/stdc++.h> using namespace std; int k,n,m,f[60][60],cnt[200]; string s,t,sub; signed main(){ cin>>k>>s>>t; n=s.length();m=t.length(); s='0'+s;t='0'+t; for(int l=1;l<=m;l++){ for(int r=l;r<=m;r++){//zi chuan sub=t.substr(l,r);sub='0'+sub; memset(f,0x3f,sizeof(f));f[0][0]=0; for(int i=0;i<=n;i++){ for(int j=1;j<=sub.length()-1;j++){ if(s[i]==sub[j]&&i>=1){f[i][j]=f[i-1][j-1];} if(s[i]!=sub[j]&&i>=1){f[i][j]=f[i-1][j-1]+1;} f[i][j]=min(f[i][j],f[i][j-1]+1); if(i>=1){f[i][j]=min(f[i][j],f[i-1][j]+1);} } } cnt[f[n][sub.length()-1]]++; // if(f[n][sub.length()-1]==24)cout<<sub<<endl; } } for(int i=0;i<=k;i++)cout<<cnt[i]<<endl; return 0; }