分数 25
全屏浏览题目
切换布局
作者 CHEN, Yue
单位 浙江大学
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given Is PAT&TAP symmetric?
, the longest symmetric sub-string is s PAT&TAP s
, hence you must output 11
.
Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:
Is PAT&TAP symmetric?
Sample Output:
11
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
没啥技术含量,暴力枚举就完了!
#include<bits/stdc++.h>
using namespace std;
bool issym(string t){//判断是否对称
int len=t.size();
for(int i=0;i<=len/2;i++){
if(t[i]!=t[len-1-i])return false;
}
return true;
}
int main(){
string s;
getline(cin,s);//有空格用getline
int maxlen=0;//记录最大长度
for(int i=0;i<s.size();i++)//暴力枚举
for(int j=i;j<s.size();j++){
string t=s.substr(i,j-i+1);
if(t.size()>maxlen&&issym(t))maxlen=t.size();//对称且大于最大长度则更新
}
cout<<maxlen<<endl;//输出
return 0;
}