fork(2) download
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. int palli(char s[])
  5. {
  6. int i,j,check=1;
  7. for(i=0,j=strlen(s)-1;i<strlen(s)/2;++i,--j)
  8. {
  9. if(s[i]!=s[j])
  10. {
  11. check=0;
  12. break;
  13. }
  14. }
  15. if(check==1)
  16. return 1;
  17. else
  18. return 0;
  19. }
  20.  
  21. int check(char s[],int i,int j)
  22. {
  23. int k,l=0,m=0,c1,c2;
  24. char s1[1000],s2[1000];
  25. for(k=0;s[k]!='\0';++k)
  26. {
  27. if(k!=i)
  28. {
  29. s1[l]=s[k];
  30. ++l;
  31. }
  32. if(k!=j)
  33. {
  34. s2[m]=s[k];
  35. ++m;
  36. }
  37. }
  38. s1[l]='\0';
  39. s2[m]='\0';
  40. c1=palli(s1);
  41. c2=palli(s2);
  42. if(c1==1||c2==1)
  43. return 1;
  44. else
  45. return 0;
  46. }
  47. int main()
  48. {
  49. int k,i,j,t,c,w=1;
  50. char s[1000];
  51. scanf("%d",&t);
  52. fflush(stdin);
  53. for(k=0;k<t;++k)
  54. {
  55. scanf("%s",s);
  56. w=1;
  57. for(i=0,j=strlen(s)-1;i<strlen(s)/2;++i,--j)
  58. {
  59. if(s[i]!=s[j])
  60. {
  61. w=0;
  62. c=check(s,i,j);
  63. if(c==1)
  64. printf("Yes\n");
  65. else
  66. printf("No\n");
  67. break;
  68. }
  69. }
  70. if(w==1)
  71. printf("Yes\n");
  72. }
  73. return 0;
  74. }
  75.  
Success #stdin #stdout 0s 2296KB
stdin
1
ac
stdout
Yes