标签:
基础的最长公共子序列
#include <bits/stdc++.h> using namespace std; const int maxn=1e3+5; char c[maxn],d[maxn]; int dp[maxn][maxn]; int main() { while(scanf("%s%s",c,d)!=EOF) { memset(dp,0,sizeof(dp)); int n=strlen(c); int m=strlen(d); for(int i=0;i<n;i++) for(int j=0;j<m;j++) if(c[i]==d[j]) dp[i+1][j+1]=dp[i][j]+1; else dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]); printf("%d\n",dp[n][m]); } return 0; }
HDU 1159 Common Subsequence --- DP入门之最长公共子序列
标签:
原文地址:http://www.cnblogs.com/Ritchie/p/5927861.html