Code: Select all
wqeeewee
eeeeeeereeeee
Code: Select all
wqeeeweeeqw
eeeeeeereeeeeee
Moderator: Board moderators
Code: Select all
wqeeewee
eeeeeeereeeee
Code: Select all
wqeeeweeeqw
eeeeeeereeeeeee
Code: Select all
#include<bits/stdc++.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
int palin(char s[])
{
int len = strlen(s);
int i,j;
for(i=0,j=len-1; i<len/2; i++,j--){
if(s[i]!=s[j]) return 0;
}
return 1;
}
void rev(char s[])
{
int i,j;
char temp;
int len=strlen(s);
for(i=0,j=len-1; i<len/2; i++,j--){
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
int main()
{
char s[100005],r[100005],ch;
int i,j,k,in;
while(scanf("%s",&s)==1){
if(palin(s)==1) {
printf("%s\n",s);
continue;
}
else {
int len=strlen(s);
for(i=0,j=len-1,k=0; i<j; i++){
if(i==0 && s[i]==s[j]) {
while(s[i+1]==s[j-1]){
i++;
j--;
}
}
if(s[i]!=s[j]){
r[k++]=s[i];
//printf("%c\n",r[k-1]);
}
else {
ch=s[i];
in=i;
while(s[i+1]==s[j-1] && i<=j){
i++,j--;
}
if(i>j) break;
else {
r[k++]=ch;
i=in;
}
}
}
r[k]='\0';
rev(r);
strcat(s,r);
printf("%s\n",s);
}
}
return 0;
}