求助巨佬
查看原帖
求助巨佬
923248
Lian_zy楼主2023/10/19 17:32

WA 55pts

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int maxn = 2e3 + 10;
char a[maxn], b[maxn];
int lena, lenb, dp[maxn][maxn];
int main() {
	scanf("%s %s", a + 1, b + 1);
	lena = strlen(a + 1);
	lenb = strlen(b + 1);
	for (int i = 1; i <= max(lena, lenb); i++) dp[1][i] = dp[i][1] = i;
	for (int i = 2; i <= lenb; i++) {
		for (int j = 2; j <= lena; j++) {
			if (b[i] == a[j]) dp[i][j] = dp[i - 1][j - 1];
			else dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1;
		}
	}
	printf("%d\n", dp[lenb][lena]);
	return 0;
}
2023/10/19 17:32
加载中...