L2 008 最長對稱子串

2021-07-11 20:07:58 字數 1654 閱讀 4665

時間限制

100 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定"is pat&tap symmetric?",最長對稱子串為"s pat&tap s",於是你應該輸出11。

輸入格式:

輸入在一行中給出長度不超過1000的非空字串。

輸出格式:

在一行中輸出最長對稱子串的長度。

輸入樣例:

is pat&tap symmetric?
輸出樣例:11

今天我去參加了天梯賽,感覺還行,

我講一下乙個題就是最長對稱子串:

首先,要明白題意,,,,對稱對稱,就是沿一條線對稱,而這條線有兩種情況,一種:是像例題一樣的把乙個字元看成是一條線;另一種是把字元與字元間的空隙看成是一條線,,,,,,明白嗎?(pat&tap這就是把&看成是一條線

)(asddsa這就是把dd中間的空隙看成是一條線);;;;;

通過以上的例子我們就發現了這個題的這種思想有兩種方法::::

而怎樣去a呢?

第一種應該把當成一條線的字元看成中間再往兩邊查:這就初始化為1了,,

第二種就把空隙看成線往兩邊查,這就初始化為0了,,,

看**詳細一點

檢視源**

123

4567

891011

1213

1415

1617

18192021

2223

2425

2627

28293031

3233

3435

3637

38394041

4243

4445

4647

48495051

52

#include

#include

#include

#include

using

namespace std;

char a[10005]; //字串的儲存

int b[10005]; //第一種方法

int c[10005]; //第二種方法

int main()

for(i = 0;i < 10005; i++)

for(i = 1;i < len; i++)

}for(i = 1;i < len; i++)

}int max = 0;

for(i = 0;i < len;i++) //找出最大的,,

printf("

%d\n

",max);

return

0;}

**菜鳥,如有錯誤,請多包涵!!

L2 008 最長對稱子串

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定 is pat tap symmetric?最長對稱子串為 s pat tap s 於是你應該輸出11。對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定 is pat tap symmetric?最長對稱子串為 s pat tap ...

L2 008 最長對稱子串

原題 這道題可真是把我累的夠嗆,一開始是方法錯了,後來是題目定義不清晰理解錯誤,最後終於在第12次提交成功,廢話不說,總結如下 1.對稱,就是倒置之後還是不變,例如 aba 顛倒後還是 aba 所以思路就是,把原字串s1倒置過來,變成s2,然後求s1和s2最長公共子串 2.因為s1倒置過來變成s2,...

L2 008 最長對稱子串

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定 is pat tap symmetric?最長對稱子串為 s pat tap s 於是你應該輸出11。輸入格式 輸入在一行...