Common Subsequence

 1 #include<cstdio>

 2 #include<iostream>

 3 #include<cmath>

 4 #include<string>

 5 #include<cstring>

 6 #include<algorithm>

 7 using namespace std;

 8 int a[500][500];

 9 int main()

10 {

11     string s1,s2;

12     while(cin>>s1>>s2)

13     {

14         int k1=s1.length();

15         int k2=s2.length();

16         memset(a,0,sizeof(a));

17         for(int i=1; i<=k1; i++)

18         {

19             for(int j=1; j<=k2; j++)

20             {

21                 if(s1[i-1]==s2[j-1])

22                 {

23                     a[i%2][j]=a[(i-1)%2][j-1]+1;

24                 }

25                 else

26                 {

27                     a[i%2][j]=max(a[(i-1)%2][j],a[i%2][j-1]);

28                 }

29             }

30         }

31         printf("%d\n",a[k1%2][k2]);

32     }

33     return 0;

34 }
View Code

 

你可能感兴趣的:(sequence)