【HBUOJ】阿生的酒量

阿生的酒量

Descriptionhtml

 

阿生終於找到女友了,他不只擺脫了他賴以寄託的精神物品小球,更是揚言邀請他的朋友浩強出去喝酒。在喝酒的時候他們玩起了划拳的遊戲ide

規則以下:測試

每人口中說出一個數字,而且用手劃出這個數字。若是某一方劃出的數字正好等於兩人說出的數字之和,他就輸了,輸家須要罰一杯酒。兩人打平(同贏或同輸)則繼續下一輪,直到惟一的贏家出現。spa

下面給出阿生、浩強的酒量(最多能喝多少杯不倒)和他們的划拳記錄,請你判斷他倆誰先倒。code

Inputhtm

 

輸入第一行前後給出阿生、浩強兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N(≤100),隨後N行,每行給出一輪划拳的記錄,格式爲:遊戲

阿生喊 阿生劃 浩強喊 浩強劃

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

Outputci

 

在第一行中輸出先倒下的那我的:A表明阿生,B表明浩強。第二行中輸出沒倒的那我的喝了多少杯。題目保證有一我的倒下。注意程序處理到有人倒下就終止,後面的數據沒必要處理。get

Sample Input 1 

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

Sample Output 1

A
1
PAT原題改編,可是測試點變大了,我沒過。。。 後來他們又改測試點。。改簡單了我過了。? L1-019 誰先倒 (15 分)

 

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; 
int A,B,n,pA,sA,pB,sB,a,b,bei;
char lose;
int main() {
    scanf("%d%d",&A,&B); 
        lose='\0';
        a=b=0;
        scanf("%d",&n);
		//cin>>n;
        while(n-->0) {
            scanf("%d%d%d%d",&pA,&sA,&pB,&sB);
            if(lose=='\0') {
                if(sA==pA+pB&&sB!=pA+pB) {
                    ++a;
                    if(a>A) {
                        lose='A';
                        bei=b;
                    }
                }
                else if(sA!=pA+pB&&sB==pA+pB) {
                    ++b;
                    if(b>B) {
                        lose='B';
                        bei=a;
                    }
                }
            }
        }
        printf("%c\n%d",lose,bei);
        return 0;
}
相關文章
相關標籤/搜索