PAT 1046 划拳(兩種方法)

2021-09-25 10:50:21 字數 1283 閱讀 1316

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

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

輸入第一行先給出乙個正整數 n(≤100),隨後 n 行,每行給出一輪划拳的記錄,格式為:

甲喊 甲劃 乙喊 乙劃

其中喊是喊出的數字,劃是劃出的數字,均為不超過 100 的正整數(兩隻手一起劃)。

在一行中先後輸出甲、乙兩人喝酒的杯數,其間以乙個空格分隔。

58 10 9 12

5 10 5 10

3 8 5 12

12 18 1 13

4 16 12 15

1 2

#include 

int main()

if(jiahua != sum && yihua == sum)

}printf

("%d %d"

, jia,yi)

;return0;

}

先定義乙個二維指標**p

在利用二維指針對陣列賦值時,先針對行數和列數分別申請空間(注意)

p =

(int**

)malloc

(sizeof

(int*)

*n);

//行數:n行

p[i]=(

int*

)malloc

(sizeof

(int)*

4);//列數:4列

利用for迴圈賦值

#include 

#include

intmain

(void)}

for(i =

0; i < n; i++)if

(p[i][1

]!= sum && p[i][3

]== sum)

sum =0;

}free

(p);

printf

("%d %d"

, jia, yi)

;return0;

}

#include

using namespace std;

intmain()

cout << flagj <<

" "<< flagy;

}

PAT 乙級 1046 划拳

兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。所以判斷條件一定是甲對了並且乙錯了,則乙喝一杯酒。乙對了,並且甲錯了,則甲喝一杯酒。其他情況為都不用喝酒。include includeusing namespace std struct drinkgame int counta 0 甲要喝的數量...

PAT 乙級 1046 划拳

划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。下面給出甲 乙兩人的划拳記錄,請你統計他們最後分別喝了多少杯酒。輸...

PAT 乙級 1046 划拳 15

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸...