1. 程式人生 > >7-3 誰先倒(15 分)

7-3 誰先倒(15 分)

題目連結
划拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人划拳的方法為:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和划拳記錄,請你判斷兩個人誰先倒。
輸入格式:
輸入第一行先後給出甲、乙兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N(≤100),隨後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.如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒,[是誰劃出的數字等於兩個人喊出的數字之和,誰就輸了,我們總是慣性思維以為誰劃出的數字為喊出的數字之和誰就贏了,必須看清題,看清題,血淚史]

#include<iostream>
using namespace std;
int main(){  
  int a,b,n,e,f,g,h,flag,d,l;
  scanf("%d%d%d",&a,&b,&n);
  d = a,l = b;
  while(n--){
    scanf("%d%d%d%d",&e,&f,&g,&h);
    if(f == (e + g) && h != (e + g))
      a--;
    if(f != (e + g) && h == (e + g))
      b--;
    if
(a < 0){ flag = 1; break; } if(b < 0){ flag = 0; break; } } if(flag) printf("A\n%d\n",l - b);//!!!! else printf("B\n%d\n",d - a);//!!!! return 0; }