百練 2744子串

2021-10-02 10:14:47 字數 1186 閱讀 2171

描述

現在有一些由英文本元組成的大小寫敏感的字串,你的任務是找到乙個最長的字串x,使得對於已經給出的字串中的任意乙個y,x或者是y的子串,或者x中的字元反序之後得到的新字串是y的子串。

輸入

輸入的第一行是乙個整數t (1 <= t <= 10),t表示測試資料的數目。對於每一組測試資料,第一行是乙個整數n (1 <= n <= 100),表示已經給出n個字串。接下來n行,每行給出乙個長度在1和100之間的字串。

輸出

對於每一組測試資料,輸出一行,給出題目中要求的字串x的長度。

樣例輸入

2

3abcd

bcdff

brcd

2rose

orchid

樣例輸出

2

2

#include

#include

#include

using

namespace std;

int n;

char str[

110]

[110

],substr[

110]

,rsubstr[

110]

;int

main()

}for

(len = minl;len >0;

--len)

rsubstr[len]

='\0'

; cnt =0;

for(

int k =

0;k < n;

++k)

else

break;}

if(cnt == n)

break;}

if(cnt == n)

break;}

printf

("%d\n"

,len);}

return0;

}

錯誤:

compile error

g++中沒有strrev

沒啥思路,庫函式不會用:strstr, strncpy

字串類題型(1) 子串(POJ2744)

本題思路 選取輸入的數個字串中長度最小的那乙個,然後列舉其子串,和子串的反串,然後對比輸入的字串驗證結果。關於這一題一定要記住幾個常用的字串函式 1.strncpy strncpy substr,a j,i 這裡substr為複製到的字串,a j為串頭位址,i為要複製的子串長度。2.strrev s...

最長上公升子串行(百練2757)

總時間限制 2000ms 記憶體限制 65536kb 描述 乙個數的序列 bi,當 b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2 an 我們可以得到一些上公升的子串行 ai1,ai2 aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8...

百練 2757 最長上公升子串行

總時間限制 2000ms 記憶體限制 65536kb 描述乙個數的序列 bi,當 b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2 an 我們可以得到一些上公升的子串行 ai1,ai2 aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 ...