思路简析
思路不难,按照题目意思来判断即可,但有几个细节需要注意:
- 输出的是没倒下那个人喝了几杯酒,而不是倒下的那人
- 只有当酒量小于0的时候才会倒下(我就是用等于0判断的,结果一直有几个结果集无法通过)
解法代码
#include<iostream>
using namespace std;
int main() {
int A,B; //甲乙的酒量
cin >> A >> B;
int N;
cin >> N;
int aHan[N]; //A喊的数字
int bHan[N]; //B喊的数字
int aHua[N]; //A划的数字
int bHua[N]; //B划的数字
int aCount = 0; //A喝了几杯
int bCount = 0; //B喝了几杯
for (int i = 0; i < N; i++) {
if (A < 0 || B < 0) { //出现赢家
break;
}
cin >> aHan[i] >> aHua[i] >> bHan[i] >> bHua[i];
if ((aHua[i] == aHan[i] + bHan[i]) && (bHua[i] == aHan[i] + bHan[i])) {
continue;
}else if (aHua[i] == aHan[i] + bHan[i]) { //a输
A--;
aCount++;
}else if (bHua[i] == aHan[i] + bHan[i]) { //b输
B--;
bCount++;
}
}
if (A < 0) {
cout << "A" << endl;
cout << bCount;
}
if (B < 0) {
cout << "B" << endl;
cout << aCount;
}
return 0;
}