77分WA2个点
  • 板块P2758 编辑距离
  • 楼主_YQY
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/2/2 14:01
  • 上次更新2023/10/24 02:04:07
查看原帖
77分WA2个点
638274
_YQY楼主2023/2/2 14:01
#include<bits/stdc++.h>
using namespace std;
#define int long long 
int f[2004][2004];//把a的前ig个变为b的前j个所用的最少操作步骤 
string a,b;
signed main(){
	cin>>a>>b;
	int x=a.size(),y=b.size();
	for(int i=1;i<=x;i++) f[i][0]=i;
	for(int i=1;i<=x;i++) f[0][i]=i;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			if(a[i-1]==b[j-1])
				f[i][j]=f[i-1][j-1];
			else {
				f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1])+1;
			}
		}
	}
	cout<<f[x][y]<<endl;
	return 0;
}	
2023/2/2 14:01
加载中...