hud"/>
hud
最长公共子序列
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <math.h>
using namespace std;int dp[1000][1000];
int DP(string s1, string s2){memset(dp, 0, sizeof(dp));for(int i=1; i<=s1.size(); ++i){for(int j=1; j<=s2.size(); ++j){if(s1[i-1]==s2[j-1]){ //s中的存储是从0位开始的dp[i][j]=dp[i-1][j-1]+1; //dp中的存储是从1开始的}else{dp[i][j]=max(dp[i][j-1], dp[i-1][j]);}}}return dp[s1.size()][s2.size()];
}
int main(){string x, y;while(cin >> x >> y){ cout << DP(x, y) << endl;}
}
更多推荐
hud
发布评论