#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[]){
int len = myStrlen(s);
char *tmp
= (char *)malloc(sizeof(char) * (len
* 2 + 1)); if (tmp == NULL) return NULL;
int i;
for (i = 0; i < len; i++) {tmp[i] = s[i];}
for (i = 0; i < len; i++) {tmp[len + i] = s[len - 1 - i];}
tmp[len * 2] = '\0';
return tmp;
}
//メイン関数はいじる必要はありません
int main(){
int i;
char nyuryoku[1024];
char *kaibun;
kaibun = setPalindrome(nyuryoku);
printf("%s\n -> %s\n",nyuryoku
,kaibun
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBteVN0cmxlbihjaGFyIHNbXSl7CiAgICBpbnQgaTsKICAgIGZvcihpPTA7c1tpXSE9J1wwJztpKyspOwogICAgcmV0dXJuIGk7Cn0KY2hhciAqc2V0UGFsaW5kcm9tZShjaGFyIHNbXSl7CglpbnQgbGVuID0gbXlTdHJsZW4ocyk7CgljaGFyICp0bXAgPSAoY2hhciAqKW1hbGxvYyhzaXplb2YoY2hhcikgKiAobGVuICogMiArIDEpKTsKCWlmICh0bXAgPT0gTlVMTCkgcmV0dXJuIE5VTEw7CglpbnQgaTsKCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge3RtcFtpXSA9IHNbaV07fQoJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7dG1wW2xlbiArIGldID0gc1tsZW4gLSAxIC0gaV07fQoJdG1wW2xlbiAqIDJdID0gJ1wwJzsKCXJldHVybiB0bXA7Cn0KCgovL+ODoeOCpOODs+mWouaVsOOBr+OBhOOBmOOCi+W/heimgeOBr+OBguOCiuOBvuOBm+OCkwppbnQgbWFpbigpewogICAgaW50IGk7CiAgICBjaGFyIG55dXJ5b2t1WzEwMjRdOwogICAgY2hhciAqa2FpYnVuOwogICAgc2NhbmYoIiVzIixueXVyeW9rdSk7CiAgICBrYWlidW4gPSBzZXRQYWxpbmRyb21lKG55dXJ5b2t1KTsKICAgIHByaW50ZigiJXNcbiAgLT4gJXNcbiIsbnl1cnlva3Usa2FpYnVuKTsKICAgIGZyZWUoa2FpYnVuKTsKICAgIHJldHVybiAwOwp9Cg==