日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pat 团体赛练习题集 L2-008. 最长对称子串

發(fā)布時(shí)間:2025/5/22 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pat 团体赛练习题集 L2-008. 最长对称子串 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)給定的字符串,本題要求你輸出最長(zhǎng)對(duì)稱子串的長(zhǎng)度。例如,給定"Is PAT&TAP symmetric?",最長(zhǎng)對(duì)稱子串為"s PAT&TAP s",于是你應(yīng)該輸出11。

輸入格式:

輸入在一行中給出長(zhǎng)度不超過1000的非空字符串。

輸出格式:

在一行中輸出最長(zhǎng)對(duì)稱子串的長(zhǎng)度。

輸入樣例: Is PAT&TAP symmetric? 輸出樣例: 11

雖然是水題,但還是錯(cuò)了幾遍。貼上來警示下自己。

錯(cuò)誤原因:沒考慮到對(duì)稱串是偶數(shù)的情況。

//Asimple #include <bits/stdc++.h> #define INF 0xfffffff #define mod 10007 #define swap(a,b,t) t = a, a = b, b = t #define CLS(a, v) memset(a, v, sizeof(a)) #define debug(a) cout << #a << " = " << a <<endl using namespace std; inline int abs(int x) { return x<0?-x:x; } typedef long long ll; const int maxn = 1005; char str[maxn];void solve() {int len = strlen(str);int ans = 1, cnt;for(int i=0; i<len; i++) {int in = 1, cnt = 1;while( i-in>=0 && i+in<len && str[i-in]==str[i+in] ) {in ++;cnt += 2;}ans = max(ans, cnt);in = 1, cnt = 0;while( i-in>=0 && i+in-1<len && str[i-in]==str[i+in-1] ) {in ++;cnt += 2;}ans = max(ans, cnt);}cout << ans << endl; }void input() {gets(str);solve(); }int main() {input();return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Asimple/p/6476501.html

總結(jié)

以上是生活随笔為你收集整理的pat 团体赛练习题集 L2-008. 最长对称子串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。