HDU 1159 Common Subsequence

最長公共子序列。


直接敲上就好了。。 很簡單。


#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <queue>
#include <stack>
#include <cctype>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define MAXN 1000+10
#define INF 1<<30
#define mod 6
char s[MAXN];
char ss[MAXN];
int d[MAXN][MAXN] = {0};
int main (){
    while(scanf("%s%s",s+1,ss+1) != EOF){
        int len1 = strlen(s+1);
        int len2 = strlen(ss+1);
        memset(d,0,sizeof(d));
        for(int i = 1; i <= len1; i++){
            for(int j = 1; j <= len2; j++){
                if(s[i] == ss[j])
                    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;
}


發佈了141 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章