LCS

原创 2016年08月29日 11:11:30

#include <stdio.h>
#include <string.h>
#include <iostream>

using namespace std;
int n, m, k = 0;
int a1[120], a2[120];
int dp[110][110];
int LCS()
{
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            if(a1[i] == a2[j])
            {
                dp[i + 1][j + 1] = dp[i][j] + 1;
            }
            else{
                dp[i + 1][j + 1] = max(dp[i + 1][j], dp[i][j + 1]);
            }
        }
    }
    return dp[n][m];
}
void Print(int i, int j)
{
    if(i == 0 || j == 0)
    {
        return;
    }
    if(dp[i][j] == dp[i - 1][j - 1] + 1)
    {
        Print(i - 1, j - 1);
        printf("%d\n", a1[i - 1]);
    }
    else if(dp[i][j] == dp[i - 1][j]){
        Print(i - 1, j);
    }else
    {
    Print(i, j - 1);
    }
}

int main()
{

    while(scanf("%d%d", &n, &m),m + n)
    {
        for(int i = 0; i < n; i++)
        {
            scanf("%d", &a1[i]);
        }
        for(int i = 0; i < m; i++)
        {
            scanf("%d", &a2[i]);
        }
        memset(dp, 0, sizeof(dp));
        printf("Twin Towers #%d\n", ++k);
        printf("Number of Tiles : %d\n\n", LCS());
        Print(n, m);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LCS2005升级指导

  • 2013年08月12日 09:36
  • 721KB
  • 下载

最长公共子序列 LCS

  • 2012年12月07日 15:09
  • 1KB
  • 下载

最长公共子序列(LCS)-动态规划

首先,动态规划的关键是将之前所计算的结果存储起来,之后直接调用!!! 1.问题描述: ------字符串的子序列:是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串。 --...
  • Limbos
  • Limbos
  • 2015年10月18日 20:49
  • 488

最长公共子序列LCS

  • 2008年07月25日 16:08
  • 30KB
  • 下载

求解LCS算法

  • 2014年12月16日 11:51
  • 1KB
  • 下载

nLogn LCS 算法总结

参考:http://www.cs.ucf.edu/courses/cap5937/fall2004/Longest%20common%20subsequence.pdf 最长公共子序列 的 nlog...

uva531 LCS算法

  • 2015年04月30日 10:46
  • 2KB
  • 下载

最长递增子序列LCS的实现C源码

  • 2009年04月03日 19:07
  • 155KB
  • 下载

LCS问题(最长公共子序列)-动态规划实现

问题描述:问题】 求两字符序列的最长公共字符子序列注意:并不要求子串(字符串一)的字符必须连续出现在字符串二中。思路分析:最优子结构和重叠子问题的性质都具有,所以要采取动态规划的算法最长公共子序列的结...

LCS的实现代码

  • 2013年06月21日 09:08
  • 494KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LCS
举报原因:
原因补充:

(最多只允许输入30个字)