POJ1458-Common Subsequence
http://poj.org/problem?id=1458
挫挫更健康。。。
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int dp[1000][1000]; int main(void) { char a[1000],b[1000]; int n,m,i,j; memset(a,0,1000*sizeof(char)); memset(b,0,1000*sizeof(char)); while(scanf("%s%s%*c",a,b)!=EOF) { memset(dp,0,sizeof(dp)); n=strlen(a); m=strlen(b); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { if(a[i-1]==b[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } printf("%d\n",dp[n][m]); } }