PAT乙级1046

题目链接

https://pintia.cn/problem-sets/994805260223102976/problems/994805277847568384

题解

题目有几个点需要注意:

  • 甲和乙同时赢或者同时输都算平局,甲和乙都不需要喝酒
  • 游戏结束不用我们判断
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// PAT BasicLevel 1046
// https://pintia.cn/problem-sets/994805260223102976/problems/994805277847568384

#include <iostream>
using namespace std;

int main()
{
// 变量定义
int N; // N次划拳
scanf("%d",&N);
int AYell, AOut; // A喊的数字和出的数字
int BYell, BOut; // B喊的数字和出的数字
bool AWin,BWin; // 此次划拳A和B的输赢
int ALose=0,BLose=0; // A和B输的次数
int yellSum; // 此次划拳喊的数字之和

// 统计杯数
for(int i=0;i<N;i++)
{
scanf("%d %d %d %d",&AYell,&AOut,&BYell,&BOut);
yellSum = AYell + BYell; // 此次划拳喊的数字之和
AWin = (AOut == yellSum); // A的输赢
BWin = (BOut == yellSum);

// 如果一人赢一人输
if(AWin!=BWin)
{
ALose += !AWin;
BLose += !BWin;
}
}

// 输出结果
printf("%d %d",ALose,BLose);

system("pause");
return 0;
}

作者:@臭咸鱼

转载请注明出处:https://www.cnblogs.com/chouxianyu/

欢迎讨论和交流!