#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;
char a;
int i;
int len = myStrlen(s);
tmp
= (char*)malloc(sizeof(char) * len
* 2 ); if(tmp == NULL){
return 0;
}
for(i = 0; i < len; i++){
tmp[i] = s[i];
}
for(i = 0; i < len ; i++){
tmp[i+len]=s[len-(i+1)];
}
return tmp;
}
// メイン関数はいじらなくてOK
int main(){
char nyuryoku[1024];
char *kaibun;
kaibun = setPalindrome(nyuryoku);
printf("%s\n -> %s\n", nyuryoku
, kaibun
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBteVN0cmxlbihjaGFyIHNbXSl7CiAgICBpbnQgaTsKICAgIGZvcihpID0gMDsgc1tpXSAhPSAnXDAnOyBpKyspOwogICAgcmV0dXJuIGk7Cn0KCmNoYXIgKnNldFBhbGluZHJvbWUoY2hhciBzW10pewogICAgY2hhciAqdG1wOwogICAgY2hhciBhOwogICAgaW50IGk7CiAgICBpbnQgbGVuID0gbXlTdHJsZW4ocyk7ICAgCgogIAogICAgdG1wID0gKGNoYXIqKW1hbGxvYyhzaXplb2YoY2hhcikgKiBsZW4gKiAyICk7CiAgICBpZih0bXAgPT0gTlVMTCl7CiAgICAgICAgcHJpbnRmKCJFUlJPUlxuIik7CiAgICAgICAgcmV0dXJuIDA7ICAgCiAgICB9CiAgICBmb3IoaSA9IDA7IGkgPCBsZW47IGkrKyl7CiAgICAgICAgdG1wW2ldID0gc1tpXTsKICAgIH0KICAgIGZvcihpID0gMDsgaSA8IGxlbiA7IGkrKyl7CiAgICAgICAgdG1wW2krbGVuXT1zW2xlbi0oaSsxKV07CiAgICB9CiAgICAKICAgIHJldHVybiB0bXA7Cn0KCi8vIOODoeOCpOODs+mWouaVsOOBr+OBhOOBmOOCieOBquOBj+OBpk9LCmludCBtYWluKCl7CiAgICBjaGFyIG55dXJ5b2t1WzEwMjRdOwogICAgY2hhciAqa2FpYnVuOwoKICAgIHNjYW5mKCIlcyIsIG55dXJ5b2t1KTsKCiAgICBrYWlidW4gPSBzZXRQYWxpbmRyb21lKG55dXJ5b2t1KTsKCiAgICBwcmludGYoIiVzXG4gIC0+ICVzXG4iLCBueXVyeW9rdSwga2FpYnVuKTsKCiAgICBmcmVlKGthaWJ1bik7CgogICAgcmV0dXJuIDA7Cn0=