标签:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25416 Accepted Submission(s):
11276
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 int dp[1001][1001]; 8 9 int main() 10 { 11 char a[1001],b[1001]; 12 while (~scanf("%s%s",a,b)) 13 { 14 int len1=strlen(a); 15 int len2=strlen(b); 16 memset(dp,0,sizeof(dp)); 17 for (int i=len1-1;i>=0;i--) 18 { 19 for (int j=len2-1;j>=0;j--) 20 { 21 if (a[i]==b[j]) 22 dp[i][j]=dp[i+1][j+1]+1; 23 else 24 dp[i][j]=max(dp[i+1][j],dp[i][j+1]); 25 } 26 } 27 printf ("%d\n",dp[0][0]); 28 } 29 return 0; 30 }
hdu 1159 Common Subsequence(最长公共子序列 DP)
标签:
原文地址:http://www.cnblogs.com/qq-star/p/4302214.html