0
已解决
各位大佬,康一康,我的代码哪里错了??
#include<bits/stdc++.h>
using namespace std;
int f[2005][2005];//用f[i][j]表示第一个字符串到第i个,第二个字符串到第j个时的最小距离
int main(){
string a,b;
int k;
getline(cin,a);
getline(cin,b);
cin>>k;
int n=a.length(),m=b.length();
memset(f,0x3f,sizeof(f));
for(int i=1;i<=n;i++)
f[i][0]=i*k;
for(int j=1;j<=m;j++)
f[0][j]=j*k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
f[i][j]=min(f[i][j],f[i][j-1]+k);
f[i][j]=min(f[i][j],f[i-1][j]+k);
f[i][j]=min(f[i][j],f[i-1][j-1]+abs(a[i-1]-b[j-1]));
}
}
cout<<f[n][m];
return 0;
}
@董子墨 @包涵宇
王光裕在2020-08-15 17:15:40追加了内容








