Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- int main(){
- srand(time(0));
- ll n=1;
- ll count=0;
- ll poscount=0;
- for (ll t=0; t<20; t++){
- n*=10;
- for (ll i=0; i<n; i++)
- {
- set<ll> sett {0,1,2,3,4,5,6}; // изначально 7 комнат
- bool au[7] {}; // изначально его нигде нет
- bool b=false; // проверка на возможность просмотра случая
- if ((rand() % 10)>2)
- au[rand()%7]=true; // с вероятностью 0.7 сажаю в случайную из 7 комнат
- ll h=rand()%7; // выбираю случайную из 7 комнат
- sett.erase(h); // удаляю из сета, чтобы осталось 6
- for(auto&k:sett){
- if (au[k]){
- b=true; // если он оказался в одной из шести, случай не подходит
- break;
- }
- }
- if (!b) // если ни в одной из 6 его не было, можно рассматривать
- if (au[h]){ // проверка на то, оказался ли он в седьмой комнате
- poscount++;
- count++;
- }
- else // если не оказался
- count++;
- }
- //cout << poscount << ' ' << count;
- cout << n << ':'<<(double)poscount*1.0/count << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement