uva 10405

来源:互联网 发布:centos 鼠标键盘失效 编辑:程序博客网 时间:2024/05/21 05:55

题意:就是一道简单的dp;求最长公共子序列。但是这道题要考虑空格

代码如下:

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
char str1[1010];
char str2[1010];
int d[1010][1010];
int main() {
    while(gets(str1)!=NULL) {
        gets(str2);
        memset(d, 0, sizeof(d));
        int len1=strlen(str1);
        int len2=strlen(str2);
        for(int i=1; i<=len1; ++i) {
            for(int j=1; j<=len2; ++j) {
                if(str1[i-1]==str2[j-1])
                    d[i][j]=d[i-1][j-1]+1;
                else
                    d[i][j]=max(d[i-1][j],d[i][j-1]);
            }
        }
        printf("%d\n",d[len1][len2]);
    }
    return 0;
}

0 0
原创粉丝点击