ZOJ 1733 Common Subsequence【DP】

来源:互联网 发布:软件开发立项报告模板 编辑:程序博客网 时间:2024/05/13 05:51
//2630526 2011-08-17 09:23:56 Accepted 1733 C 0 160 ylwh@Unknown#include <stdio.h>#include <string.h>#define N 999int main(){int ans, t[N], k[N], maxs, i, j, temp;char a[N], b[N];while(scanf(" %s %s", a, b) != EOF){memset(t, 0, sizeof(t));memset(k, 0, sizeof(k));for(i=0; i<strlen(b); i++)if( !k[i] ){maxs = 0;for(j=i; j<strlen(b); j++)if(b[j] == b[i])k[j] = ++maxs;}ans = 0;for(i=0; i<strlen(b); i++){maxs = 0;temp = 0;for(j=0; j<strlen(a); j++){if(t[j] > maxs)maxs = t[j];if(b[i] == a[j]){temp++;if(temp >= k[i])t[j] = maxs + 1;}if(t[j] > ans)ans = t[j];}}printf("%d\n", ans);}    return 0;}