fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long double coeff[7] = {0,0,0,0,0,0,0};
  5. int six_C_i[] = {1,6,15,20,15,6,1};
  6. long long po25[] = {1,0,0,0,0,0,0};
  7. long long po26[] = {1,0,0,0,0,0,0};
  8.  
  9. unordered_map<long long,int>dp;
  10.  
  11. int exp(int N)
  12. {
  13. if(N < 2) return 0;
  14. if(dp.find(N)!=dp.end()) return dp[N];
  15. int res = 1;
  16. for(int i=0;i<7;i++)
  17. {
  18. res+=exp((int)(N * coeff[i]));
  19. }
  20. return dp[N] = res;
  21. }
  22.  
  23. int main()
  24. {
  25. for(int i=1;i<7;i++)
  26. {
  27. po25[i] = po25[i-1]*25;
  28. po26[i] = po26[i-1]*26;
  29. }
  30.  
  31. for(int i=0;i<7;i++)
  32. {
  33. coeff[i] = six_C_i[i] * (1.00*po25[6-i] / po26[6]);
  34. coeff[i]/=7;
  35. }
  36. int N = po26[6];
  37. cout << exp(N) << endl;
  38. return 0;
  39. }
Success #stdin #stdout 0s 4404KB
stdin
Standard input is empty
stdout
410