7-6 誰先倒 (15分)
阿新 • • 發佈:2021-01-17
划拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人划拳的方法為:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和划拳記錄,請你判斷兩個人誰先倒。
輸入格式:
輸入第一行先後給出甲、乙兩人的酒量(不超過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
#include <iostream>
#include <string>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
int main () {
int sum_j,sum_y;//甲和乙的酒量
cin>>sum_j>>sum_y;
int sumj=sum_j,sumy=sum_y;//甲和乙的酒量的減少量
int n;
cin>>n;
int i,j;
int t,t1,p,p1;
for(i=0;i<n;i++){
cin>>t>>t1>>p>>p1;
if(t1==t+p&& p1!=t+p){//甲輸乙不輸
sumj--;
}
if(p1==t+p&&t1!=p+t){
sumy--;
}
if(sumj<0||sumy<0){//不用這樣寫,因為不可能存在同時小於0的情況,甲乙不可能同時輸,我當時沒看見這個條件
if(sumy<0){
cout<<"B"<<endl<<sum_j-sumj;
}
if(sumj<0){
cout<<"A"<<endl<<sum_y-sumy;
}
break;
}
}
}