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

7-6 誰先倒 (15分)

技術標籤:天梯賽c++程式碼

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

輸入格式:

輸入第一行先後給出甲、乙兩人的酒量(不超過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; } } }