Advertisement
jeff69

Untitled

Aug 2nd, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. /*
  3. WAY TO CANDIDATE MASTER
  4. */
  5. using namespace std;
  6. typedef long long ll;
  7. typedef long double ld;
  8.  
  9. const int MX=5e5+3;
  10. string h;
  11. ll dp[66][66];
  12. ll solve(int r,int l)
  13. {
  14. ll ans=0;
  15. if(dp[r][l]!=-1)return dp[r][l];
  16. if(h[r]==h[l])
  17. ans++;
  18. else return 0;
  19. for(int i=0;i<r;i++)
  20. {
  21. for(int k=l+1;k<h.length();k++)
  22. {
  23. ans+=solve(i,k);
  24. }
  25. }
  26. return dp[r][l]=ans;
  27. }
  28. char bb[66];
  29. int main()
  30. {
  31. // freopen("aa.txt","r",stdin);
  32. // freopen("aa.txt","w",stdout);
  33. /*for(int i=0;i<200;i++)
  34. {
  35. for(int k=0;k<60;k++)
  36. cout<<'a';
  37. cout<<endl;
  38. }
  39.  
  40. return 0;*/
  41. int t;
  42. cin>>t;
  43. int g=0;
  44. while(t--){
  45.  
  46. memset(dp,-1,sizeof dp);
  47. scanf("%s",bb);
  48. h=bb;
  49.  
  50.  
  51. g++;
  52. ll ans=0;
  53. for(int i=0;i<h.length();i++)
  54. for(int k=i;k<h.length();k++)
  55. ans+=solve(i,k);
  56. printf("Case %d: %I64d\n",g,ans);
  57. }
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement