公共子串
Time Limit:1000MS Memory Limit:65536K
Total Submit:197 Accepted:112
Description
设有A、B两个字符串,找出A、B共同子串,每个字符串无相同字符,可以不连续,但顺序不能颠倒。
Input
第一行字符串A
第二行字符串B
Output
最长公共子串的长度.
Sample Input
abcfbc
abfcab
Sample Output
4
-
var s1,s2:string; f:array[0..500,0..500] of longint; i,n,m,j,k,len1,len2,x,y:longint; begin readln(s1); readln(s2); len1:=length(s1); len2:=length(s2); for i:=1 to len1 do for j:=1 to len2 do if s1[i]=s2[j] then f[i,j]:=f[i-1,j-1]+1 else if f[i-1,j]>f[i,j-1] then f[i,j]:=f[i-1,j] else f[i,j]:=f[i,j-1]; write(f[len1,len2]); end.