最长公共子序列

来源:互联网 发布:气象数据 英文缩写 编辑:程序博客网 时间:2024/06/10 10:31

ACM模版

最长公共子序列

const int N = 1010;int a[N][N];int LCS(const char *s1, const char *s2){   //  s1:0...m, s2:0...n    int m = (int)strlen(s1), n = (int)strlen(s2);    int i, j;    a[0][0] = 0;    for (i = 1; i <= m; ++i)    {        a[i][0] = 0;    }    for (i = 1; i <= n; ++i)    {        a[0][i] = 0;    }    for (i = 1; i <= m; ++i)    {        for (j = 1; j <= n; ++j)        {            if (s1[i - 1] == s2[j - 1])            {                a[i][j] = a[i - 1][j - 1] + 1;            }            else if (a[i - 1][j] > a[i][j - 1])            {                a[i][j]= a[i - 1][j];            }            else            {                a[i][j] = a[i][j - 1];            }        }    }    return a[m][n];}
0 0
原创粉丝点击