欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PAT1046划拳

程序员文章站 2022-07-15 13:46:42
...

简单模拟

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。

输入格式:

输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录,格式为:
甲喊 甲划 乙喊 乙划
其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只手一起划)。

输出格式:

在一行中先后输出甲、乙两人喝酒的杯数,其间以一个空格分隔。

输入样例:

5
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15

输出样例:

1 2

主要思路

设置两个变量count1,count2来记载甲乙喝酒的次数。用一个循环和if判断就可以写出来。

c代码

#include<stdio.h>
int main()
{
   int n;
   int sh1,do1,sh2,do2;
   int count1=0;
   int count2=0;
   scanf("%d",&n);
   for(int i=0;i<n;i++)
   {
       scanf("%d %d %d %d",&sh1,&do1,&sh2,&do2);
       if(do1==sh1+sh2&&do2!=sh1+sh2)
       {
           count2++;
       }
       else if(do1!=sh1+sh2&&do2==sh1+sh2)
       {
           count1++;
       }
   }
   printf("%d %d",count1,count2);
   return 0;
}

python代码

n=eval(input())
count1=0
count2=0
for i in range(0,n):
   sh1,do1,sh2,do2=map(int,input().split())
   if(do1==sh1+sh2 and do2!=sh1+sh2):
       count2+=1
   elif(do1!=sh1+sh2 and do2==sh1+sh2):
       count1+=1
print(f"{count1} {count2}")