#include <stdio.h>
#include <time.h>
#include<stdlib.h>
int choose_target(int m[]){
	
  if(m[1]<=m[2] && m[1]<=m[3] && m[2] <= m[3]){ //1<2<3
  	if (m[1] != 0) return 1;
  	else if (m[2] != 0) return 2;
  	else return 3;
  }
  if(m[1]<=m[2] && m[1]<=m[3] && m[3] <= m[2]){ //1<3<2
  	if (m[1] != 0) return 1;
  	else if (m[3] != 0) return 3;
  	else return 2;
  }
  if(m[2]<=m[1] && m[1]<=m[3] && m[2] <= m[3]){ //2<1<3 
  	if (m[2] != 0) return 2;
  	else if (m[1] != 0) return 1;
  	else return 3;
  }
  if(m[2]<=m[3] && m[3]<=m[1] && m[2] <= m[1]){ //2<3<1
   	if (m[2] != 0) return 2;
  	else if (m[3] != 0) return 3;
  	else return 1;
  }
  if(m[3]<=m[1] && m[1]<=m[2] && m[3] <= m[2]){ //3<1<2
  	if (m[3] != 0) return 3;
  	else if (m[1] != 0) return 1;
  	else return 2;
  }
  if(m[3]<=m[2] && m[2]<=m[1] && m[3] <= m[1]){ //3<2<1
  	if (m[3] != 0) return 3;
  	else if (m[2] != 0) return 2;
  	else return 1;
  }
 
 
}
 
 
int main(void) {
	int target[5],hit,bomb,count=0;
	srand(time(NULL));
	int sample = 10000000;
	for (int i=1;i<=sample;i++){
		target[0]=5;
		target[1]=11;
		target[2]=14;
		target[3]=14;
		target[4]=19;
		for (int j=1;j<=5;j++){
			
			hit = choose_target(target);        //選三嘲諷血最低 
			
			target[hit]--;                      //目標-1 
			do{
 				
				bomb = (rand()%5);              //炸彈目標 
 
			}while(target[bomb]==0);            //非0血目標 
			
			target[bomb] = target[bomb] - (rand()%4) - 1;  //炸彈造成傷害 
 
			if(target[bomb]<0)target[bomb]=0;
							  }	
 
		for (int k=6;k>=1;k--){					//六張牌抽牌 內有三炸彈 
			int draw = (rand()%k) + 1 ;
			if(draw>=4)target[4]=target[4]-5;
			else break;
 
		}
 
		if(target[4]<=0) count++;
 
								}
		printf("percentage: %.6f",((float)count)/sample);
		return 0;
}
 