本文共 743 字,大约阅读时间需要 2 分钟。
#include#include #define MAX(a,b) ((a) > (b) ? (a):(b))char a[1001],b[10001];int maxLen[1001][1001];int main() { while(scanf("%s%s",a,b) != EOF){ int len1 = strlen(a); int len2 = strlen(b); int len = MAX(len1,len2); //printf("%d",len); for(int i = 0; i < len; ++i){ maxLen[i][0] = 0; maxLen[0][i] = 0; } for(int i = 1; i <= len1; ++i){ for(int j = 1; j <= len2; ++j){ if(a[i-1] == b[j-1]){ maxLen[i][j] = maxLen[i-1][j-1] + 1; } else{ maxLen[i][j] = MAX(maxLen[i-1][j],maxLen[i][j-1]); } } } printf("%d\n",maxLen[len1][len2]); } return 0; }
转载地址:http://sqimi.baihongyu.com/