P2758编辑距离55分求条
  • 板块题目总版
  • 楼主chillchill
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/1/4 19:45
  • 上次更新2025/1/4 22:35:55
查看原帖
P2758编辑距离55分求条
765219
chillchill楼主2025/1/4 19:45
#include <iostream>
#include <string>
using namespace std;

int dp[2005][2005];

int main()
{
	string a,b;
	cin >> a >> b;
	a='#'+a;
	b='#'+b;
	
	for (int i=0;i<a.size();i++)
	{
		for (int j=0;j<b.size();j++)
		{
			if (i==1) dp[i][j]=j;
			else if (j==1) dp[i][j]=i;
			else
			{
				dp[i][j]=min(dp[i-1][j]+1,min(dp[i][j-1]+1,dp[i-1][j-1]+(a[i]!=b[j])));
			}
		}
	}
	
	cout << dp[a.size()-1][b.size()-1] << endl;
	return 0;
}

2025/1/4 19:45
加载中...