Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <time.h>
- #include <stdlib.h>
- using namespace std;
- const size_t NTESTS = 10000;
- vector<char> deck;
- void FY_shuffle (vector<char> & v)
- {
- for (size_t i=1;i<v.size();++i)
- swap(v[i],v[rand()%(i+1)]);
- }
- int main ()
- {
- deck.resize(52);
- for (size_t i=0;i<26;++i)
- deck[i]='R'; // R - красная
- for (size_t i=26;i<52;++i)
- deck[i]='B'; // B - чёрная
- srand(time(NULL));
- FY_shuffle(deck);
- double average=0;
- for (size_t j=0;j<NTESTS;++j)
- {
- int correct_answers=0,reds=26,blacks=26;
- for (size_t i=0;i<deck.size();++i)
- {
- int r=rand()%(reds+blacks);
- if (r<reds)
- {
- if (deck[i]=='R')
- --reds,++correct_answers;
- else
- --blacks;
- }
- else
- {
- if (deck[i]=='B')
- --blacks,++correct_answers;
- else
- --reds;
- }
- }
- average+=(double)correct_answers/(double)NTESTS;
- }
- cout<<average<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement