WA求助
查看原帖
WA求助
824800
donnieguo楼主2024/7/10 19:30

rt,我用 dp 求最长公共子序列的长度,结果 WA 了,题解里都不是用 dp 算的,也没有提 dp 为什么错,求解答

#include <iostream>
#include <cstring>
#define N 110
using namespace std;

int T, f[N][N];
string s1, s2;

int main() {
	cin >> T;
	while (T--) {
		memset(f, 0, sizeof(f));
		cin >> s1 >> s2;
		int len1 = s1.length(), len2 = s2.length();
		for (int i = 1; i <= len1; i++)
			for (int j = 1; j <= len2; j++) {
				if (s1[i - 1] == s2[j - 1])
					f[i][j] = f[i - 1][j - 1] + 1;
				else
					f[i][j] = max(f[i - 1][j], f[i][j - 1]);
			}
//		cout << f[len1][len2] << '\n';
		cout << len1 + len2 - f[len1][len2] << '\n';
	}
	return 0;
}
2024/7/10 19:30
加载中...