最长公共子序列 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;}

原创粉丝点击