Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
116180 | 李树强 | 两个字符串的删除操作 | C++ | 通过 | 100 | 0 MS | 272 KB | 459 | 2023-12-16 08:59:59 |
#include<iostream> #include<string> using namespace std; const int N = 1e3 + 10; int n, dp[N][N]; string s1, s2; int main(){ cin >> s1 >> s2; for(int i = 1; i <= s1.size(); i++){ for(int j = 1; j <= s2.size(); j++){ if(s1[i-1] == s2[j-1]){ dp[i][j] = dp[i - 1][j - 1] + 1; } else{ dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); } } } cout << s1.size() + s2.size() - dp[s1.size()][s2.size()] * 2; return 0; }