description
設有a、b兩個字串,找出a、b共同子串,每個字串無相同字元,可以不連續,但順序不能顛倒。
input
第一行字串a
第二行字串b
output
最長公共子串的長度.
sample input
abcfbc
abfcab
sample output
兩重迴圈
乙個列舉x的長度
乙個列舉y的長度
如果x[i]=y[j],則f[i,j]:=f[i-1,j-1]。
如果不是則,f[i,j]:=max(f[i,j-1],f[i-1,j]);
**如下;
var
f:array [0..110,0..110] of longint;
i,j:longint;
x,y:string;
begin
readln(x);
readln(y);
fillchar(f,sizeof(f),0);
for i:=1
to length(x) do
for j:=1
to length(y) do
if x[i]=y[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[i,j]);
end.
SSL 1463 公共子串
description 設有a b兩個字串,找出a b共同子串,每個字串無相同字元,可以不連續,但順序不能顛倒。input 第一行字串a 第二行字串 output 最長公共子串的長度.sample input abcfbc abfcab sample output 兩重迴圈 乙個列舉x的長度 乙個列...
求公共子串行和公共子串
輸入 第一行給出乙個整數n 0最長公共子串行長度。每組結果佔一行。樣例輸入 2asdf adfsd 123abc abc123abc 樣例輸出36 輸入兩個字串,輸出它們的最長子字串。求公共子串以及求公共子串的長度 include include define n 100 char a n b n ...
找公共子串
in asdff fffasdfffaaaf out 5 尋找公共子串,我的思想就是兩層迴圈,最短每層的乙個i開始最大與長的字串的共同子串,遍歷,暴力搜尋。注意大小寫,和注意思路就好 只有280分,如果有優化 請多多指教 如下,include include include using namesp...