记录编号 |
380390 |
评测结果 |
AAAAAAA |
题目名称 |
基本的回文串练习 |
最终得分 |
100 |
用户昵称 |
HeHe |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.114 s |
提交时间 |
2017-03-09 09:49:34 |
内存使用 |
0.31 MiB |
显示代码纯文本
//\
2050.基本的回文串练习
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define is_num(tmp) (tmp<='9' and tmp>='0')
inline int in(void){
char tmp=getchar();
while(!(is_num(tmp)||tmp=='-'))tmp=getchar();
int res(0),f(1);
if(tmp=='-')f=-1,tmp=getchar();
while(is_num(tmp))
res=(res<<1)+(res<<3)+(tmp^48),
tmp=getchar();
return res*f;
}//\
#define LOCAL
bool check(const char *s,int l,int r);
char s[600];
int len,sta;
int main(){
#ifndef LOCAL
freopen("erase.in","r",stdin);
freopen("erase.out","w",stdout);
#endif
gets(s);
len=strlen(s);
for(int i=2;i<=len;++i){
for(int j=i-1;j<len;++j){
if(check(s,sta=j-i+1,j)){
for(int k=sta;k<=j;++k){
putchar(s[k]);
}
putchar('\n');
}
}
}
}
bool check(const char *s,int l,int r){
while(l<r){
if(s[l]!=s[r])return false;
++l,--r;
}
return true;
}