标签:
1 #include<iostream> 2 #include<cstring> 3 #define max(a,b) (a>b?a:b) 4 #define MAXN 1001+10 5 using namespace std; 6 7 int c[MAXN][MAXN]; 8 9 int main() 10 { 11 //freopen("in.txt","r",stdin); 12 int s1_len,s2_len,i,j,t; 13 char s1[MAXN],s2[MAXN]; 14 cin>>t; 15 while(t--) 16 { 17 cin>>s1>>s2; 18 s1_len=strlen(s1); 19 s2_len=strlen(s2); 20 for(i=0;i<=s1_len;i++) 21 c[i][0]=0; 22 for(i=0;i<=s2_len;i++) 23 c[0][i]=0; 24 for(i=1;i<=s1_len;i++) 25 for(j=1;j<=s2_len;j++) 26 if(s1[i-1]==s2[j-1]) 27 c[i][j]=c[i-1][j-1]+1; 28 else 29 c[i][j]=max(c[i-1][j],c[i][j-1]); 30 cout<<c[s1_len][s2_len]<<endl; 31 } 32 return 0; 33 }
hdu 1159 Common Subsequence(最长公共子序列 动态规划)
标签:
原文地址:http://www.cnblogs.com/homura/p/4670966.html