Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. ld calc_dp1(int i, int j) {
  2. if (dp1[i][j]!=-1) return dp1[i][j];
  3. int tmp_j = j;
  4. for (int k=0;k<i;k++) {
  5. tmp[k] = tmp_j % i;
  6. tmp_j /= i;
  7. }
  8.  
  9. int cnt_forward = 0;
  10. ld kek = 0;
  11. for (int k=0;k<i;k++) {
  12. for (int l=0;l<i;l++) {
  13. if (tmp[k]<=tmp[l]) {
  14. kek++;
  15. } else {
  16. for (int m=0;m<i;m++) {
  17. tmp2[m] = tmp[m];
  18. }
  19. swap(tmp2[k], tmp2[l]);
  20. int lkek = 0;
  21. for (int m=i-1;m>=0;m--) {
  22. lkek *= i;
  23. lkek += tmp2[m];
  24. }
  25. kek+=calc_dp1(i, lkek);
  26. cnt_forward++;
  27. }
  28. }
  29. }
  30.  
  31. if (cnt_forward==0) {
  32. return dp1[i][j] = 0;
  33. }
  34.  
  35. return dp1[i][j] = kek/cnt_forward;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement