csuoj Nearest Sequence

Description

        Do you remember the "Nearest Numbers"? Now here comes its brother:"Nearest Sequence".Given three sequences of char,tell me the length of the longest common subsequence of the three sequences.

Input

        There are several test cases.For each test case,the first line gives you the first sequence,the second line gives you the second one and the third line gives you the third one.(the max length of each sequence is 100)

Output

 

        For each test case,print only one integer :the length of the longest common subsequence of the three sequences.

Sample Input

abcd
abdc
dbca
abcd
cabd
tsc

Sample Output

2
1

代码:

#include<iostream>
#include<string>
using namespace std;
string a,b,c;

int dp[101][101][101];
int main(){
    while(cin >> a >> b >> c){
        int x,y,z;
        x = a.size();
        y = b.size();
        z = c.size();
//        cout << x << " " << y << " " << z << endl;
        dp[0][0][0] = 0;
        for(int i = 0;i <= x;i++){
            for(int j = 0;j <= y;j++)
                dp[i][j][0] = 0;
        }
        for(int i = 0;i <= x;i++){
            for(int k = 0;k <= z;k++)
                dp[i][0][k] = 0;
        }
        for(int j = 0;j <= y;j++){
            for(int k = 0;k <= z;k++)
                dp[0][j][k] = 0;
        }
        for(int i = 1;i <= x;i++){
            for(int j = 1;j <= y;j++){
                for(int k = 1;k <= z;k++){
//                    cout << a[i - 1] << " " << b[j + 1] << " " << c[k + 1] << endl;
                    if(a[i - 1] == b[j - 1] && a[i - 1] == c[k - 1])
                        dp[i][j][k] = dp[i - 1][j - 1][k - 1] + 1;
                    else{
                        dp[i][j][k] = max(max(dp[i - 1][j][k],dp[i][j - 1][k]),max(dp[i - 1][j][k],dp[i][j][k - 1]));
                    }
//                    cout << i << " " << j << " " << k << " " << dp[i][j][k] << endl;
                }
            }
        }
        cout << dp[x][y][z] <<endl;
    }
    return 0;
}

 

posted on 2017-06-10 00:34  Tracy-mac  阅读(93)  评论(0编辑  收藏  举报

导航