求助,一维dpWA两个!!!
查看原帖
求助,一维dpWA两个!!!
1133645
mazhemg123楼主2024/7/19 11:26
#include <iostream>  
#include <vector>  
#include <queue>  
using namespace std;

typedef pair<char, int> PII;
typedef long long ll;
string A, B;
int f[2005];
int main() {
	cin >> A >> B;
	int n = A.size();
	int m = B.size();
	for (int i = 0; i <= n; i++) f[i] = i;
	int leftup = 0, ji = 0;
	for (int i = 1; i <= n; i++) {
		leftup = i-1;
		f[0] = i;
		for (int j = 1; j <= m; j++) {
			ji = f[j];
			if (A[i - 1] == B[j - 1])f[j] = leftup;
			else {
				int a = leftup + 1;
				int b = f[j] + 1;
				int c = f[j - 1] + 1;
				f[j] = min(min(a, b), c);
			}
			leftup = ji;
		}
	}
	cout << f[m];
}
2024/7/19 11:26
加载中...