题目描述

  划拳是中国酒文化中一个有趣的组成部分。酒桌上两人划拳的方法为:没人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出数字正好是两人喊出数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。

  下面给出甲、乙两人的划拳记录,请统计他们最后分别喝了多少杯酒

输入格式

  第一行先给出一个正整数N(≤100);随后N行每行给出一轮划拳的记录,格式为:甲喊,甲划,乙喊,乙划

其中"喊"是喊出的数字,"划"是划出的数字,均为不超过100的正整数(两只手一起划)

输出格式

  在一行中先后输出甲、乙两人喝酒的杯数,其间以一个空格分隔

输入样例

5

8 10 9 12

5 10 5 10

3 8  5 12

12 18 1 13

4 16 12 15

输出样例

1 2

基本思路

  • 同时赢或同时输,不计失败次数,一方赢一方输,输的那方喝酒,并记录失败次数
int main(int argc, char *argv[]) {
    // failA, failB 表示甲、乙猜拳失败喝酒的次数,n表示总行数 
    int failA = 0, failB = 0, n;
    int a1, a2, b1, b2;
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        scanf("%d%d%d%d", &a1, &a2, &b1, &b2);
        // 甲猜中,乙没猜中 
        if(a1 + b1 == a2 && a1 + b1 != b2){
            failB++;
        }else if(a1 + b1 == b2 && a1 + b1 != a2){
            failA++;
        }
    }
    printf("%d %d\n", failA, failB);
    return 0;
}
12-17 01:37