#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define SimTime 10000000 //シミュレーションの回数

int main(){
  sim(0,1); //勝数が０対１のとき 
  sim(2,1); //勝数が２対１のとき
  return 0;
}

void sim(int win1,int win2){//勝数：Aをwin1, Bをwin2とする
  int p1_win ,p2_win;
  int sum_p1_win= 0 ,sum_p2_win = 0;
  int i;
  srand((unsigned)time(NULL));
  printf("%d回投げたとき当たりがA(%d)対B(%d)のとき\n",
                 win1 + win2,win1,win2);
  for(i = 0;i < SimTime;i++){
    p1_win = win1;
    p2_win = win2;
    while(p1_win < 3 && p2_win < 3){
      if(rand()%2 == 0) p1_win++; //表のときAの当たり
        else p2_win++; //裏のときBの当たり
      if(p1_win == 3) sum_p1_win++; //Aが勝った
      if(p2_win == 3) sum_p2_win++; //Bが勝った
    }
  }
  printf("Aの勝率は%f，Bの勝率は%fとなる\n",
  (double)sum_p1_win/SimTime,(double)sum_p2_win/SimTime);
}
