#include <stdio.h>
#include <stdlib.h>
int myStrlen(char s[]){
int i;
for(i=0;s[i]!='\0';i++);
return i;
}
char *setPalindrome(char s[]){
char *tmp;
tmp
=(char*)malloc(sizeof(char)*2*myStrlen
(s
)+1); for(int j=0;s[j]!='\0';j++){
tmp[j]=s[j];
}
int a=myStrlen(s);
int b=myStrlen(s);
for(;b>=0;b--){
tmp[a]=s[b-1];
a++;
}
return tmp;
}
int main(){
int i;
char nyuryoku[1024]; //入力
char *kaibun; //回文を受け取る
kaibun = setPalindrome(nyuryoku);
printf("%s\n -> %s\n",nyuryoku
,kaibun
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBteVN0cmxlbihjaGFyIHNbXSl7CiAgICBpbnQgaTsKICAgIGZvcihpPTA7c1tpXSE9J1wwJztpKyspOwogICAgcmV0dXJuIGk7Cn0KCgpjaGFyICpzZXRQYWxpbmRyb21lKGNoYXIgc1tdKXsKCWNoYXIgKnRtcDsKCXRtcD0oY2hhciopbWFsbG9jKHNpemVvZihjaGFyKSoyKm15U3RybGVuKHMpKzEpOwogICBmb3IoaW50IGo9MDtzW2pdIT0nXDAnO2orKyl7CnRtcFtqXT1zW2pdOwp9CgppbnQgYT1teVN0cmxlbihzKTsKaW50IGI9bXlTdHJsZW4ocyk7CmZvcig7Yj49MDtiLS0pewp0bXBbYV09c1tiLTFdOwphKys7Cn0KcmV0dXJuIHRtcDsKfQoKCmludCBtYWluKCl7CiAgICBpbnQgaTsKICAgIGNoYXIgbnl1cnlva3VbMTAyNF07IC8v5YWl5YqbCiAgICBjaGFyICprYWlidW47ICAgLy/lm57mlofjgpLlj5fjgZHlj5bjgosKICAgIHNjYW5mKCIlcyIsbnl1cnlva3UpOwogICAga2FpYnVuID0gc2V0UGFsaW5kcm9tZShueXVyeW9rdSk7CiAgICBwcmludGYoIiVzXG4gIC0+ICVzXG4iLG55dXJ5b2t1LGthaWJ1bik7CiAgICBmcmVlKGthaWJ1bik7CiAgICByZXR1cm4gMDsKfQo=