第二屆藍橋杯國際賽第一題-猜拳
阿新 • • 發佈:2018-11-10
題目: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; }
用二維陣列打表。