没有梦想的咸鱼

确定是一条咸鱼了。。。。

快速提升代码能力(12)

从零起步看算法(第十二天 4.17)

题外话:昨晚想了一些其他的事,有些生活的残酷你注定要去旁观,而无法避免。伤害,或许是一种宿命,你能做的就是让悲痛成为财富而已。

//q13  HZF 爱斗牛

思路很简单的一道题,但注意的知识点还是有的。

1.对 unique(a,a+n)的深入认识,只是隐藏了原来的数组的相同的值,改变了顺序而已

https://blog.csdn.net/tomorrowtodie/article/details/51907471

2.对于情况少的判断,枚举法很有效。

3.对题意细节的理解,对牌类游戏题型的小积累,小主意。

贴代码:

 //q13  HZF 爱斗牛
#include<iostream>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
bool is_three(int a[]){
	if((a[0]+a[1]+a[2])%10==0)return true;
	if((a[0]+a[1]+a[3])%10==0)return true;
	if((a[0]+a[1]+a[4])%10==0)return true;
	if((a[0]+a[2]+a[3])%10==0)return true;
	if((a[0]+a[2]+a[4])%10==0)return true;
	if((a[0]+a[3]+a[4])%10==0)return true;
	if((a[1]+a[2]+a[3])%10==0)return true;
	if((a[1]+a[2]+a[4])%10==0)return true;
    if((a[1]+a[3]+a[4])%10==0)return true;
	if((a[2]+a[3]+a[4])%10==0)return true;
	else return false;
}
int main(){
	int a[5]={0};
	int sum=0;
	for(int i=0;i<5;i++){
		cin>>a[i];
		if(a[i]==11)a[i]=10;
		if(a[i]==12)a[i]=10;
		if(a[i]==13)a[i]=10;
		sum+=a[i];
	}
	sort(a,a+5);
	int k=unique(a,a+5)-a;
	
	if(k<=2&&a[1]==a[2]&&a[2]==a[3]){
		cout<<"quadra bomb orz"<<endl;
		return 0; 
	}
	if(k<=2&&a[0]==a[2]&&a[2]==a[3]){
		cout<<"quadra bomb orz"<<endl;
		return 0; 
	}
	if(a[4]<5&&sum<=10){
		cout<<"penta calf"<<endl;
		return 0;
	}
	if(is_three(a)&&sum%10==0){
		cout<<"you can you up"<<endl;
		return 0;
	}
	if(is_three(a)){
		cout<<"too young too simple:calf "<<sum%10<<endl;
		return 0;
	}
	else
	cout<<"gg"<<endl;
	return 0;
}

阅读更多
文章标签: 模拟
个人分类: 重头再来
上一篇快速提升代码能力(11)
下一篇快速提升代码能力(13)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭