1. 程式人生 > >第二屆藍橋杯國際賽第一題-猜拳

第二屆藍橋杯國際賽第一題-猜拳

 

題目:A、B、C三個人猜拳,每一輪正好可以分成勝負兩邊,負邊的每一個要支付給勝邊的每個人一塊錢,

如果無法分成勝負兩邊,則都不出錢。

例如:0 2 2 代表A輸BC贏,012,000無法分出勝負。

 

#include<cstdio>
int arr[27][3];
int sum[3]={0,0,0};

void f1(int n,int s1,int s2,int s3){
	arr[n][0]=s1;
	arr[n][1]=s2;
	arr[n][2]=s3;
}

void f(){
	
	f1(1,1,1,-2);
	f1(14,1,1,-2);
	f1(24,1,1,-2);
	//
	f1(2,-1,-1,2);
	f1(12,-1,-1,2);
	f1(25,-1,-1,2);
	//
	f1(3,1,-2,1);
	f1(16,1,-2,1);
	f1(20,1,-2,1);
	//
	f1(6,-1,2,-1);
	f1(10,-1,2,-1);
	f1(23,-1,2,-1);
	//
	f1(8,-2,1,1);
	f1(9,-2,1,1);
	f1(22,-2,1,1);
	//
	f1(4,2,-1,-1);
	f1(17,2,-1,-1);
	f1(18,2,-1,-1);
}
int main(){
	int n,a,b,c;
	f();
	scanf("%d",&n);
	while(n--){
		scanf("%d%d%d",&a,&b,&c);
		sum[0]+=arr[a*9+b*3+c][0];
		sum[1]+=arr[a*9+b*3+c][1];
		sum[2]+=arr[a*9+b*3+c][2];
	}
	printf("%d\n%d\n%d\n",sum[0],sum[1],sum[2]);
	return 0;
} 

用二維陣列打表。