欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PIPIOJ 1083: 最长公共子序列Ⅰ模板

程序员文章站 2022-04-01 17:27:24
...

题目:

http://39.106.164.46/problem.php?id=1083

代码如下:

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<queue>
#include<cstring>
#include<vector>
#include<stack>
#include<map>
#include<set>
#define MAX 1005
#define INF 0x3f3f3f3f
typedef long long ll;
using namespace std;

string s1,s2;
int dp[MAX][MAX];

int main(){
    while(cin>>s1>>s2){
        memset(dp,0,sizeof(dp));
        s1="0"+s1,s2="0"+s2;
        int len1=s1.length(),len2=s2.length();
        for(int i=1;i<len1;i++){
            for(int j=1;j<len2;j++){
                dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                if(s1[i]==s2[j]){
                    dp[i][j]=max(dp[i][j],dp[i-1][j-1]+1);
                }
            }
        }
        cout<<dp[len1-1][len2-1]<<endl;
    }
    return 0;
}
相关标签: PIPIOJ