总时间限制:
1000ms
内存限制:
65536kB
描述
给定一个字符串,输出所有长度至少为2的回文子串。
回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。
输入
一个字符串,由字母或数字组成。长度500以内。
输出
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
样例输入
123321125775165561
样例输出
33 11 77 55 2332 2112 5775 6556 123321 165561
来源
习题(12-6)
代码
#include<bits/stdc++.h>
using namespace std;
string a,s;
int len,cnt;
int main()
{
cin>>a;
for(int l=2;l<=a.size();l++)
{
for(int i=0;i<=a.size()-l;i++)
{
for(int j=i;j<i+l;j++)
{
s+=a[j];
}
len=s.size();
for (int k = 0 ;k<len ;k++)
{
if (s[k] == s[len-1-k]) cnt++;
}
if(cnt==len) cout<<s<<endl;
cnt=0;
s="";
}
}
return 0;
}