(ssl1463)公共子串

    xiaoxiao2021-03-25  114

    公共子串

    Time Limit:1000MS  Memory Limit:65536K Total Submit:198 Accepted:113

    Description

    设有A、B两个字符串,找出A、B共同子串,每个字符串无相同字符,可以不连续,但顺序不能颠倒。

    Input

    第一行字符串A  第二行字符串B 

    Output

    最长公共子串的长度.

    Sample Input

    abcfbc abfcab

    Sample Output

    4

    Source

    elba

    var s,ss:string; f:array[0..1000,0..1000] of longint; i,j,len,len2:longint; function max(a,b:longint):longint;//状态转移方程 begin if a>b then exit(a); exit(b); end; begin readln(s); read(ss); len:=length(s); len2:=length(ss); for i:=1 to len do for j:=1 to len2 do if s[i]=ss[j] then f[i,j]:=f[i-1,j-1]+1//如果它相同的话,那么公共字串的长度就是上一个加上它 else f[i,j]:=max(f[i-1,j],f[i,j-1]);//如果反之,那么它就继承之前最大的长度 writeln(f[len,len2])//到了最后,也就全都汇集在末尾 end.

    转载请注明原文地址: https://ju.6miu.com/read-13537.html

    最新回复(0)