1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include<iostream> #include<string.h> using namespace std;
string (char* str) { int len=strlen(str); int MAX=1; int left=0; int right=0; string s=""; for(int i=0;i<len;i++) { for(int j=i+1;j<len;j++) { int temp1,temp2; for(temp1=i,temp2=j;temp1<temp2;temp1++,temp2--) { if(str[temp1]!=str[temp2]) break; } if(temp1>=temp2) { int cut=j-i+1; if(cut>MAX) { MAX=cut; left=i; right=j; } } } } for(int i=left;i<=right;i++) { s+=str[i]; } return s; }
int main() { char str[100]; while(scanf("%s",str)!=EOF) { string s=findMaxPa(str); cout<<s<<endl; } return 0; }
|
近期评论