22求调
查看原帖
22求调
1139782
Ycz2023楼主2025/7/31 14:48
#include<bits/stdc++.h>
using namespace std;
int n,dp[2009][2009],al,bl;
char a[2024],b[2024];
int main() {
    scanf("%s%s",a,b);
	al=strlen(a);
	bl=strlen(b);//分别求两个字符串长度
	for(int i=1;i<=al;i++) {
		dp[i][0]=i;
	}
	for(int i=1;i<=bl;i++) {     //初始化
		dp[0][i]=i;
	}
    
	for(int i=1;i<=al;i++) {
		for(int j=1;j<=bl;j++) {
			if(a[i-1]==b[j-1]) {
				dp[i][j]=dp[i-1][i-1];
			} else {
				dp[i][j]=min(min(dp[i][j-1],dp[i-1][j]),dp[i-1][j-1])+1;
			}
		}
	}
	printf("%d\n",dp[al][bl]);
	return 0;
}
2025/7/31 14:48
加载中...