#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));
for(int i=0; i<len; i++){
tmp[i] = s[i];
}
for(int i=0; i<len; i++){
tmp[len + i] = s[len - 1 - i];
}
tmp[len*2] = '\0';
return tmp;
}
int main(){
char nyuryoku[1024];
char* kaibun = setPalindrome(nyuryoku);
printf("%s -> %s\n", nyuryoku
, kaibun
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBteXN0cmxlbihjaGFyIHNbXSl7CiAgICBpbnQgaTsKICAgIGZvcihpPTA7IHNbaV0gIT0gJ1wwJzsgaSsrKTsKICAgIHJldHVybiBpOwp9CgpjaGFyKiBzZXRQYWxpbmRyb21lKGNoYXIgc1tdKXsKICAgIGludCBsZW4gPSBteXN0cmxlbihzKTsKICAgIGNoYXIgKnRtcCA9IChjaGFyKiltYWxsb2Moc2l6ZW9mKGNoYXIpICogKGxlbioyICsgMSkpOwogICAgCiAgICBmb3IoaW50IGk9MDsgaTxsZW47IGkrKyl7CiAgICAgICAgdG1wW2ldID0gc1tpXTsKICAgIH0KICAgIGZvcihpbnQgaT0wOyBpPGxlbjsgaSsrKXsKICAgICAgICB0bXBbbGVuICsgaV0gPSBzW2xlbiAtIDEgLSBpXTsKICAgIH0KICAgIAogICAgdG1wW2xlbioyXSA9ICdcMCc7IAogICAgcmV0dXJuIHRtcDsgICAgICAgICAKfQoKaW50IG1haW4oKXsKICAgIGNoYXIgbnl1cnlva3VbMTAyNF07IAogICAgc2NhbmYoIiVzIiwgbnl1cnlva3UpOwoKICAgIGNoYXIqIGthaWJ1biA9IHNldFBhbGluZHJvbWUobnl1cnlva3UpOwogICAgcHJpbnRmKCIlcyAtPiAlc1xuIiwgbnl1cnlva3UsIGthaWJ1bik7CgogICAgZnJlZShrYWlidW4pOyAgCiAgICByZXR1cm4gMDsKfQo=