最长公共子序列 DP 南阳理工
来源:互联网 发布:slim nginx 编辑:程序博客网 时间:2024/06/04 19:08
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;#define MAX 1000 char a[MAX], b[MAX];int c[MAX][MAX];void LSC(char *a, char *b){ int i,j; memset(c, 0, sizeof(c)); int la = strlen(a), lb = strlen(b); for( i=0; i<la; i++) for( j=0; j<lb; j++) { if(a[i]==b[j]) c[i+1][j+1] = c[i][j]+1; else if(c[i+1][j]>c[i][j+1]) c[i+1][j+1] = c[i+1][j]; else c[i+1][j+1] = c[i][j+1]; } printf("%d\n",c[la][lb]);}int main(){ int N; scanf("%d",&N); getchar(); while(N--) { gets(a); gets(b); LSC(a,b); } system("pause"); return 0;}