poj 1458最长公共子序列(LCS)

来源:互联网 发布:centos7安装yum 编辑:程序博客网 时间:2024/06/14 09:53

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

题目解析:最长公共子序列,直接套用LCS模板。、哎。

代码:

/* abcfbc           abfcab

programming contest

abcd                 mnp*/

#include<stdio.h>#include<string.h>#include<iostream>#define ma(a,b) a>b?a:b;using namespace std;int dp[513][522];int main(){    int a,n,m,i,j;    char s1[2222],s2[2222];    while(~scanf("%s %s",s1,s2))    {        if(s1[0]=='0') break;        int l1=strlen(s1);        int l2=strlen(s2);        memset(dp,0,sizeof(dp));        for(i=0;i<l1;i++)         for(j=0;j<l2;j++)         {                if(s1[i]==s2[j])                {                    dp[i+1][j+1]=dp[i][j]+1;                }else{                                   dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);                }                        }        printf("%d\n",dp[l1][l2]);    }}


原创粉丝点击