求助大佬,dp为啥会错一个点?
查看原帖
求助大佬,dp为啥会错一个点?
540615
dongyc0301楼主2021/8/9 16:07
#include <bits/stdc++.h>
using namespace std;
int dp[2005][2005];
int main()
{
	ios::sync_with_stdio(false);
	char x[2005],y[2005];
	int i,j;
	cin>>x>>y;
	int a=strlen(x),b=strlen(y);
	for(i=0;i<a;i++)
	dp[i][0]=i;
	for(i=0;i<b;i++)
	dp[0][i]=i; 
	for(i=1;i<=a;i++)
	{
		for(j=1;j<=b;j++)
		{
			if(x[i-1]==y[j-1])
			dp[i][j]=dp[i-1][j-1];
			else
			dp[i][j]=min(min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;
		}
	}
	cout<<dp[a][b]<<endl;
	return 0;
}
2021/8/9 16:07
加载中...