划拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人划拳的方法爲:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和划拳記錄,請你判斷兩個人誰先倒。
輸入格式:
輸入第一行先後給出甲、乙兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N
(≤),隨後N
行,每行給出一輪划拳的記錄,格式爲:
甲喊 甲劃 乙喊 乙劃
其中喊
是喊出的數字,劃
是劃出的數字,均爲不超過100的正整數(兩隻手一起劃)。
輸出格式:
在第一行中輸出先倒下的那個人:A
代表甲,B
代表乙。第二行中輸出沒倒的那個人喝了多少杯。題目保證有一個人倒下。注意程序處理到有人倒下就終止,後面的數據不必處理。
輸入樣例:
1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16
輸出樣例:
A
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream> using namespace std; struct jiu { int a,b,c,d; }h[100]; int main () { int ma,mb,n; cin>>ma>>mb>>n; for (int i=0;i<n;i++) cin>>h[i].a>>h[i].b>>h[i].c>>h[i].d; int la=0,lb=0; for (int i=0;i<n;i++) { if (h[i].a+h[i].c==h[i].b&&h[i].a+h[i].c!=h[i].d) la++; //如果甲輸了而乙沒輸 else if (h[i].a+h[i].c==h[i].d&&h[i].a+h[i].c!=h[i].b) lb++; //如果甲輸了而乙沒輸 if (la>ma) {cout<<"A"<<endl<<lb<<endl;break;} //喝的杯數大於最多能喝的杯數 else if (lb>mb) {cout<<"B"<<endl<<la<<endl;break;} } return 0; } |