【蓝桥杯】HZF 爱斗牛

题目

hzf 最近迷上 QQ 游戏欢乐斗牛。

斗牛的规则如下,游戏开始的时候,每位玩家发 5 5 张扑克牌,每张牌都是 A-K 中的一张牌( 1 1 表示 A, 2 10 2-10 表示对应的牌, 11 11 -J, 12 12 -Q, 13 13 -K)。

每张牌都有一个点数, 1 10 1-10 分别对应其点数, 11 13 11-13 对应点数 10 10

牌型分为以下 5 5 种情况,牌型的优先级按照给定从上到下。

  1. 四炸—— 5 5 张牌中有 4 4 张牌相同 ,优先级最高。

  2. 五小牛——即五张牌点数都小于 5 5 ,且 5 5 张牌的点总数和小于或等于 10 10 ,优先级次之。

  3. 牛牛——其中 3 3 张牌的点数和是 10 10 的整数倍,另外 2 2 张牌的点数和是 10 10 的整数倍。

  4. x ( x = 1 , 2 , 3 9 ) x(x=1,2,3\ldots 9) ——其中 3 3 张牌的点数和是 10 10 的整数倍,另外 2 2 张牌的点数和对 10 10 取模为 x x

  5. 以上情况都不是,就是无牛。

hzf 要根据自己的牌型来决定自己的下注的倍数,但是 hzf 总是不能看出他的牌型,你能写一个程序帮助他吗。

输入格式

一行输入 5 5 个空格隔开的整数。

输出格式

若牌型为四炸,输出一行quadra bomb orz

若为五小牛,输出一行penta calf

若为牛牛,输出一行you can you up

若为牛 x,输出一行too young too simple:calf x

若为无牛,输出一行gg

样例输入

10 10 10 1 1

样例输出

too young too simple:calf 2

样例输入

10 10 10 10 9

样例输出

quadra bomb orz

题解

先确定点数
再给点数排序
再四种情况一一实现:

  1. 四炸:由于已经排序,如果 a[0] = a[3],那中间 a[1] a[2] 肯定都相等,a[1] = a[4] 同理
  2. 五小牛:默认升序排列,如果 a[4] < 5,a[0]~a[3] 肯定也小于 5
  3. 牛牛:因为三张牌点数是 10 的整数倍,另外两张牌点数也是 10 的整数倍,所以和取余为 0,但是做除肯定不为 1
  4. 牛x:当三张牌点数是 10 的整数倍,剩余的两张牌的余数就是要输出的数
  5. 无牛:当上面情况全部都没有时
#include<iostream>
#include<algorithm>
using namespace std;
int a[5];
// 判断四炸
bool bomb(){
	if(a[0] == a[3] || a[1] == a[4]){
		cout<<"quadra bomb orz";
		return true;
	}
	return false;
}
// 判断五小牛 
bool penta(){
	if(a[4] < 5 && a[0]+a[1]+a[2]+a[3]+a[4]<=10){
		cout<<"penta calf";
		return true;
	}
	return false;
}
// 判断牛牛
bool niuniu(){
	if((a[0]+a[1]+a[2]+a[3]+a[4])%10==0 && (a[0]+a[1]+a[2]+a[3]+a[4])/10!=1){
		cout<<"you can you up";
		return true;
	}
	return false;
} 
// 判断牛x
bool niux(){
	for(int i=0;i<5;i++)
		for(int j=i+1;j<5;j++)
			for(int k=j+1;k<5;k++){
				if((a[i]+a[j]+a[k])%10 == 0){
					int sum = 0;
					for(int w=0;w<5;w++)
						if(w!=i && w!=j && w!=k)
							sum += a[w];
					cout<<"too young too simple:calf "<<sum%10;
					return true;
				}
			} 
	return false; 
} 
int main(){
	for(int i=0;i<5;i++){ 
		cin>>a[i];
		if(a[i] > 10)
			a[i] = 10; 
	}
	sort(a,a+5);
	if(!bomb() && !penta() && !niuniu() && !niux()){
		cout<<"gg";
	} 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/86504697