#502. 最长公共子序列(数据错误待修正)

最长公共子序列(数据错误待修正)

说明(数据错误待修正)

若给定序列 X={x1,x2,,xm}X=\{x_1,x_2,…,x_m \},则另一序列 Z={z1,z2,,zk} Z=\{z_1,z_2, … ,z_k\},是 X 的子序列是指存在一个严格递增下标序列 {i1,i2,,ik} \{ i_1,i_2, … , i_k \} 使得对于所有 j=1,2,,kj=1,2, … ,k 有: zj=xijz_j = x_{ij} 。例如,序列 Z={B,C,D,B}Z=\{B,C,D,B\} 是序列 X={A,B,C,B,D,A,B}X=\{A,B,C,B,D,A,B\} 的子序列,相应的递增下标序列为 {2,3,5,7}\{2,3,5,7\}

给定 2 个序列 X 和 Y,当另一序列 Z 既是 X 的子序列又是 Y 的子序列时,称 Z 是序列 X 和 Y 的公共子序列。

给定 2 个序列 X={x1,x2,,xm}X=\{x_1,x_2,… ,x_m\}Y={y1,y2,,yn}Y=\{y_1,y_2,…,y_n\},找出X和Y的最长公共子序列。

输入格式

为保障统计正确,需在输入字符数组 X 和 Y 的第一个字符设置标示,该字符不参与统计

第一行输入序列 X。

第二行输入序列 Y。

输出格式

第一行输出最大子串长度。

第二行输出最大子串。

样例

@thiscbook
#tisnook
6
tisook

PS:两个字符串的长度均不超过20。