Advertisement
a53

cod4

a53
Dec 25th, 2021
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("cod.in");
  5. ofstream fout("cod.out");
  6. char s[11], ch, c;
  7. int n, ok, p, t, sm;
  8. double m, d;
  9. int v[]={0,0,0,2603,17441,51005,213320,379086,2533986,0,9911444};
  10. int binomialCoeff(int nr, int k)
  11. {
  12. int res = 1;
  13. if (k > nr - k)
  14. k = nr - k;
  15. for (int i = 0; i < k; ++i)
  16. {
  17. res *= (nr - i);
  18. res /= (i + 1);
  19. }
  20.  
  21. return res;
  22. }
  23. int main()
  24. {
  25. int i, j;
  26. fin>>c;
  27. s[n++]=c;
  28. while(fin>>ch && !ok)
  29. {
  30. if(ch>c)
  31. s[n++]=ch;
  32. else
  33. ok=1;
  34. c=ch;
  35. }
  36. if(ok)
  37. {
  38. fout<<0;
  39. return 0;
  40. }
  41. if(n==1)
  42. {
  43. fout<<(int)(s[0]+1-'a');
  44. return 0;
  45. }
  46. if(n==2)
  47. {
  48. m=26;
  49. for(int i=1; i<=(int)(s[0]+1-'a'); ++i)
  50. {
  51. sm+=m;
  52. m--;
  53. }
  54. sm=sm+1+(int)(s[1]+1-'a')-(int)(s[0]+1-'a'+1);
  55. fout<<sm;
  56. return 0;
  57. }
  58. for(i=1; i<=n; ++i)
  59. {
  60. d=1;
  61. m=1;
  62. for(j=1; j<=i; ++j)
  63. {
  64. m=m*(27-j);
  65. d=d*j;
  66. }
  67. m=m/d;
  68. sm+=(int)m;
  69. }
  70. for(t=1; t<n; ++t)
  71. {
  72. if(t>1)
  73. p=(int)(s[t-1])-96;
  74. for(i=p+1; i<=(int)(s[t])-97; ++i)
  75. {
  76. d=1;
  77. m=1;
  78. for(j=1; j<=n-t; ++j)
  79. {
  80. m=m*(27-j-i);
  81. d=d*j;
  82. }
  83. m=m/d;
  84. sm=sm+(int)m;
  85. }
  86. }
  87. fout<<v[n];
  88. return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement