POJ 1458 Common Subsequence (最长公共子序列)
2014-07-10 16:46
197 查看
题意:
两个字符串,问最多有多少个相等的,注意顺序不能变。
思路:
可以用LCS,这是以前用递归写的。
代码:
两个字符串,问最多有多少个相等的,注意顺序不能变。
思路:
可以用LCS,这是以前用递归写的。
代码:
#include<stdio.h> #include<string.h> char str1[501],str2[501]; int most,len1,len2,mark[501][501]; void dp(int a,int b,int cnt) { if(len1==a||len2==b) { if(most<cnt) most=cnt; return ; } if(mark[a][b]!=cnt+1) mark[a][b]=cnt+1; else return ; if(str1[a]==str2[b]) { dp(a+1,b+1,cnt+1); } else { dp(a,b+1,cnt); dp(a+1,b,cnt); } } int main() { while(scanf("%s %s",str1,str2)!=EOF) { len1=strlen(str1); len2=strlen(str2); most=0; memset(mark,0,sizeof(mark)); dp(0,0,0); printf("%d\n",most); } return 0; }
相关文章推荐
- poj1458 Common Subsequence(最长公共子序列)
- POJ 1458 Common Subsequence(最长公共子序列问题)
- POJ 1458 Common Subsequence(最长公共子序列LCS)
- POJ 1458 Common Subsequence(最长公共子序列问题)
- HDU/HDOJ 1159/POJ 1458 Common Subsequence(最长公共子序列LCS,滚动数组)
- 动态规划之前缀动态规划:poj 1458 Common Subsequence(最长公共子序列)
- POJ 1458-Common Subsequence(dp之最长公共子序列)
- POJ-1458-Common Subsequence(最长公共子序列模板题)---Eternally
- POJ 1458 Common Subsequence (最长公共子序列)
- POJ 1458 Common Subsequence(求最长公共子序列)
- POJ 1458 Common Subsequence(最长公共子序列)
- poj 1458:Common Subsequence 最长公共子序列长度
- POJ 1458 Common Subsequence 【最长公共子序列】
- poj1458——Common Subsequence(最长公共子序列)
- HDU 1159 & POJ 1458 Common Subsequence(LCS 最长公共子序列O(nlogn))
- POJ 1458 Common Subsequence 【最长公共子序列】
- POJ - 1458 Common Subsequence(最长公共子序列)
- POJ 1458 Common Subsequence-dp-(最长公共子序列模型)
- Common Subsequence (poj 1458) 最长公共子序列
- POJ-1458 Common Subsequence(线性动规,最长公共子序列问题)