fork(1) download
  1. #include<iostream>
  2. #include<string.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. char str[52];
  8. cin>>str;
  9. int len= strlen(str);
  10. int i,j,cnt=0;
  11. int a[len+2][len+2];
  12. for(i=0;i<=len+1;i++)
  13. {
  14. for(j=0;j<=len+1;j++)
  15. a[i][j]=0;
  16. }
  17.  
  18. for(i=0;i<len;i++)
  19. a[i][i]=1;
  20. int c=0;
  21.  
  22. for(i=0;i<len-1;i++)
  23. {
  24. if(str[i]== str[i+1])
  25. a[i][i+1]=3;
  26. else
  27. a[i][i+1]=2;
  28. }
  29.  
  30. for(i=len-1;i>=0;i--)
  31. {
  32. for(j=i+2;j<len;j++)
  33. {
  34. a[i][j]=a[i][j-1];
  35. if(str[i]== str[j])
  36. {
  37. a[i][j]++;
  38. a[i][j]+= a[i+1][j-1];
  39. }
  40. a[i][j]+= a[i+1][j];
  41. }
  42. }
  43.  
  44. /* for(i=0;i<len;i++)
  45. {
  46. for(j=i;j<len;j++)
  47. cout<<a[i][j]<<" ";
  48.  
  49. cout<<endl;
  50. }
  51. */
  52. cout<<a[0][len-1]<<endl;
  53.  
  54. return 0;
  55. }
Success #stdin #stdout 0s 3144KB
stdin
dddd
stdout
20