首页 > 代码库 > HDU 1159 Common Subsequence
HDU 1159 Common Subsequence
最简单最基本的
最长公共子序列的题目。
吐槽一下为何没有给数据范围。。
1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 8 const int maxn = 1010; 9 int dp[maxn][maxn];10 char s1[maxn], s2[maxn];11 12 int main(void)13 {14 #ifdef LOCAL15 freopen("1159in.txt", "r", stdin);16 #endif17 18 while(cin >> s1 >> s2)19 {20 int len1, len2, i, j;21 len1 = strlen(s1);22 len2 = strlen(s2);23 for(i = 1; i <= len1; ++i)24 for(j = 1; j <= len2; ++j)25 {26 if(s1[i-1] == s2[j-1])27 dp[i][j] = dp[i-1][j-1] + 1;28 else29 dp[i][j] = max(dp[i-1][j], dp[i][j-1]);30 }31 32 printf("%d\n", dp[len1][len2]);33 }34 return 0;35 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。