1. 程式人生 > >PAT 1046 劃拳

PAT 1046 劃拳

個數字 一起 格式 scanf .cn bits light 同時 href

https://pintia.cn/problem-sets/994805260223102976/problems/994805277847568384

劃拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人劃拳的方法為:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。

下面給出甲、乙兩人的劃拳記錄,請你統計他們最後分別喝了多少杯酒。

輸入格式:

輸入第一行先給出一個正整數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

O(n)=O(1)

代碼:
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    scanf("%d",&n);
    int cnt1=0,cnt2=0;
    for(int i=1; i<=n; i++)
    {
        int a1,a2,b1,b2;
        scanf("%d%d%d%d",&a1,&a2,&b1,&b2);
        if(a1+b1==a2&&a1+b1==b2)
        {
            cnt1+=0;
            cnt2+=0;
            continue;
        }
        if(a1+b1==a2)
            cnt2++;
        if(a1+b1==b2)
            cnt1++;
    }
    printf("%d %d",cnt1,cnt2);
    return 0;
}

  

PAT 1046 劃拳