poj 1458 common subsequence

来源:互联网 发布:视频翻译软件下载 编辑:程序博客网 时间:2024/05/16 17:02


题目链接:http://poj.org/problem?id=1458

题目要求就是求出两个字符串的最长公共子序列的长度

最长公共子序列问题详解:http://blog.csdn.net/yysdsyl/article/details/4226630

上代码:

#include<stdio.h>#include<string.h>char s1[500];char s2[500];int d[501][501];int main(){    int i,j;    int n,m;    while(scanf("%s %s",s1,s2) != EOF)    {        n = strlen(s1);        m = strlen(s2);        for(i = 1; i <= n; ++i)        {            for(j = 1; j <= m; ++j)            {                if(s1[i-1] == s2[j-1])                    d[i][j] = d[i-1][j-1] + 1;                else if(d[i][j-1] > d[i-1][j])                    d[i][j] = d[i][j-1];                else                    d[i][j] = d[i-1][j];            }        }        printf("%d\n",d[n][m]);    }    return 0;}

0 0