最長字串行
問題描述
設x(i), y(i), z(i)表示單個字元,則x=,y=,z=,我們稱其為字串行,其中m,n和k分別是字串行x,y,z的長度,括號()中的數字被稱作字串行的下標。
如果存在乙個嚴格遞增而且長度大於0的下標序列,使得對所有的j=1,2,……k,有x(i
j)=z(j),那麼我們稱z是x的字元子串行。而且,如果z既是x的字元子串行又是y的字元子串行,那麼我們稱z為x和y的公共字串行。
在我們今天的問題中,我們希望計算兩個給定字串行x和y的最大長度的公共字串行,這裡我們只要求輸出這個最大長度公共子串行對應的長度值。
舉例來說,字串行x=abcd,y=acde,那麼它們的最大長度為3,相應的公共字串行為acd。
輸入格式
輸入一行,用空格隔開的兩個字串
輸出格式
輸出這兩個字串行對應的最大長度公共字串行的長度值
樣例輸入
aabb aabb
樣例輸出
2資料規模和約定
輸入字串長度最長為100,區分大小寫。
c
#include#include#includeint max(int a,int b)
int lcslength(char x,char y,int m,int n)
}
return l[m][n];
}int main()
s1[0]='1';
s1[m+1]='\0';
for(i=n;i>0;i--)
s2[0]='2';
s2[n+1]='\0';
//puts(s1);
//puts(s2);
printf("%d\n",lcslength(s1,s2,m,n));
system("pause");
return 0;
}
c++
#include#includeusing namespace std;
int main()
藍橋杯 ADV 207 最長字串行
演算法提高 最長字串行 時間限制 1.0s 記憶體限制 256.0mb 最長字串行 問題描述 設x i y i z i 表示單個字元,則x y z 我們稱其為字串行,其中m,n和k分別是字串行x,y,z的長度,括號 中的數字被稱作字串行的下標。如果存在乙個嚴格遞增而且長度大於0的下標序列,使得對所有...
最長字串行
問題描述 設x i y i z i 表示單個字元,則x y z 我們稱其為字串行,其中m,n和k分別是字串行x,y,z的長度,括號 中的數字被稱作字串行的下標。如果存在乙個嚴格遞增而且長度大於0的下標序列,使得對所有的j 1,2,k,有x ij z j 那麼我們稱z是x的字元子串行。而且,如果z既是...
演算法提高 最長字串行
問題描述 設x i y i z i 表示單個字元,則x y z 我們稱其為字串行,其中m,n和k分別是字串行x,y,z的長度,括號 中的數字被稱作字串行的下標。如果存在乙個嚴格遞增而且長度大於0的下標序列,使得對所有的j 1,2,k,有x i j z j 那麼我們稱z是x的字元子串行。而且,如果z既...