fork(2) download
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5. int main() {
  6. long s = 0;
  7. int MAXN = 10000000;
  8. for (int i=0;i<MAXN;i++){
  9. int q[] = {5,5,5,5,5,10,-1,-10};
  10. int p = 0;
  11. int t = 0;
  12. while (1){
  13. int o = rand()%8;
  14. p = q[o];
  15. if (p < 0 && p > -10){
  16. q[0] = q[1] = q[2] = q[3] = q[4] = 5;
  17. q[5] = 10;
  18. q[6] = -1; //refresh
  19. q[7] = -10; //x2
  20. }
  21. else {
  22. if (p <= -100)
  23. goto lab;
  24. if (p < 0){
  25. t*=2;
  26. for (int _=0;_<8;_++)
  27. q[_]*=2;
  28. } else t+=p;
  29. q[o] = -100; //empty
  30. }
  31. }
  32. lab: ;
  33. s+=(t>=100);
  34. }
  35. cout<< (s+0.0)/MAXN*100<<endl;
  36. return 0;
  37. }
Success #stdin #stdout 1.78s 3460KB
stdin
Standard input is empty
stdout
3.40943