Er Ba Game

本文介绍了一个在中国浙江省流行的纸牌游戏ErBaGame的玩法和胜负判断规则。游戏中涉及两名玩家和36张卡片,每种数字4张。玩家各抽取2张卡片,然后根据特定规则决定胜者。规则包括最大对子、相等数字对的比较、数字和取模比较等。文章通过示例解释了判断胜负的过程,并提供了模拟游戏结果的代码实现。
摘要由CSDN通过智能技术生成

链接:https://ac.nowcoder.com/acm/contest/11253/D
来源:牛客网
 

题目描述

Er Ba Game is a popular card game in China's Province Zhejiang.

In this problem, the game involves two players and 36 cards - 2,3,⋯ ,102,3,\cdots, 102,3,⋯,10, each with four.

In the game each player takes 2 cards (a1,b1)(a_1,b_1)(a1​,b1​) , (a2,b2)(a_2,b_2)(a2​,b2​) .Player i{i}i gets (ai,bi)(a_i,b_i)(ai​,bi​) . Suppose a1≤b1,a2≤b2a_1\leq b_1,a_2\leq b_2a1​≤b1​,a2​≤b2​, and we determine the winner as follow:

  1. (2,8){(2,8)}(2,8) is the biggest pair.
  2. If neither is (2,8){(2,8)}(2,8), a pair with a=b{a=b}a=b is greater than a pair without.
  3. If a1=b1a_1=b_1a1​=b1​ and a2=b2a_2=b_2a2​=b2​, then compare a1,a2a_1,a_2a1​,a2​.The bigger one wins.
  4. If a1≠b1,a2≠b2a_1\ne b_1,a_2\ne b_2a1​​=b1​,a2​​=b2​, compare (a1+b1) mod 10,(a2+b2) mod 10(a_1+b_1)\ \text{mod}\ 10,(a_2+b_2)\ \text{mod}\ 10(a1​+b1​) mod 10,(a2​+b2​) mod 10.The bigger one wins.
  5. If  a1≠b1,a2≠b2a_1\ne b_1,a_2\ne b_2a1​​=b1​,a2​​=b2​ and (a1+b1) mod 10=(a2+b2) mod 10(a_1+b_1)\ \text{mod}\ 10=(a_2+b_2)\ \text{mod}\ 10(a1​+b1​) mod 10=(a2​+b2​) mod 10,compare b1,b2b_1,b_2b1​,b2​.The bigger one wins.

If a1≤b1,a2≤b2a_1\leq b_1,a_2\leq b_2a1​≤b1​,a2​≤b2​ does not hold, we can exchange a1a_1a1​ and b1b_1b1​ or exchange a2a_2a2​ and b2b_2b2​ until the formula holds.

You're told  a1,b1,a2,b2a_1,b_1,a_2,b_2a1​,b1​,a2​,b2​, and you should tell who's gonna win the game.

输入描述:

The first line contains an integer T{T}T — number of game cases.
Then T{T}T lines, each contains four integers a1,b1,a2,b2a_1,b_1, a_2,b_2a1​,b1​,a2​,b2​, denoting the cards of each player.

输出描述:

 

Output T{T}T lines.

If player 1 wins, output "first" (without quote).

If player 2 wins, output "second" (without quote).

Otherwise, output "tie" (without quote).

示例1

输入

5
2 8 4 6
6 6 6 7
4 5 5 5
6 3 9 10
7 2 2 7

输出

first
first
second
second
tie

说明

The answers to the first four sets of data are obtained through the first, second, second, and fifth rules respectively.

备注:

 

It's guaranteed that T≤100,2≤a1,b1,a2,b2≤10T\leq 100,2\leq a_1,b_1,a_2,b_2\leq 10T≤100,2≤a1​,b1​,a2​,b2​≤10.

It's not guaranteed that a1≤b1,a2≤b2a_1\leq b_1,a_2\leq b_2a1​≤b1​,a2​≤b2​.

题解

根据题意

模拟即可

注意a<b 

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int a,b,c,d;
		cin>>a>>b>>c>>d;
		int minn=min(a,b);
		int maxn=max(a,b);
		a=minn;
		b=maxn;
		minn=min(c,d);
		maxn=max(c,d);
		c=minn;
		d=maxn;
		if(a==2&&b==8||a==8&&b==2)
		{
			if(c==2&&d==8||c==8&&d==2)
			cout<<"tie"<<endl;
			else
			cout<<"first"<<endl;
		}
		else
		{
			if(c==2&&d==8||c==8&&d==2)
			cout<<"second"<<endl;
			else
			{
				if(a==b)
				{
					if(c!=d)
					{
						cout<<"first"<<endl;
					}
					else
					{
						if(a==d)
						{
							cout<<"tie"<<endl;
						}
						else
						{
							if(a>d)
							{
								cout<<"first"<<endl;
							}
							else
							{
								cout<<"second"<<endl;
							}
						}
					}
				}
				else
				{
					if(c==d)
					{
						cout<<"second"<<endl;
					}
					else
					{
						int t=(a+b)%10;
						int f=(c+d)%10;
						if(t>f)
						{
							cout<<"first"<<endl;
						}
						else if(t<f)
						cout<<"second"<<endl;
						else
						{
							if(b>d)
							cout<<"first"<<endl;
							else if(b<d)
							cout<<"second"<<endl;
							else
							cout<<"tie"<<endl;
						}
					}
				}
			}
		}
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值