Comet OJ-2019六一欢乐赛 D武士少年的挑战!

4 篇文章 0 订阅

本文为博主原创文章,未经博主允许不得转载。

题目描述

收服绿毛虫后,小智一行继续在常磐森林里往尼比市的方向前进,小霞一路上都在大惊小怪。这时,小智发现了独角虫,他打算靠皮卡丘来收服独角虫,可是皮卡丘却懒得搭理。小霞非常讨厌虫子,远远的逃开,却碰见一个身着武士铠甲的少年。这位武士少年似乎在寻找真新镇的训练师,他的目的是什么呢?与此同时,小智还在设法收服独角虫,丝毫不知道自己被人盯上了……

武士少年将他的剑指向小智,扬言说要跟小智用宝可梦进行决斗,此时独角虫偷偷溜走了,小智很生气,决定接受武士少年的挑战。

两轮比赛下来…..仍未分出胜负,而此时双方派上场的宝可梦都是铁甲蛹 (铁甲蛹是由绿毛虫进化而来的),不会跑,只会变硬,于是一直在僵持着。旁边的小霞已经无聊至极,她拿出一副扑克牌,"喂,那边那两个,来陪我打牌!" 小智和武士少年也觉得有点无聊了,于是走到小霞身边坐了下来。

小霞清了清嗓子,说:" 我们来玩一扑克牌游戏,一副牌有 54 张,1∼13每种数字 4张,鬼牌是数字 0,有两张,我们三个人玩,所以每人初始拿到的牌 18,如果拿到的牌里有相同的数字,就要丢掉两张,但是鬼牌不能丢,最后谁剩的牌最少谁就赢。"

小智举起了手:"请问,如果拿到的相同牌大于两张可以全部扔掉吗?"

小霞:"相同的牌数只有 2张,3 张,4 张三种可能,2张和 4张的时候可以全部扔掉,3 张的时候只能扔掉2 张"。

武士少年也举起了手 : "请问,如果拿到两张鬼牌可以扔掉吗?"

小霞 : "不行,鬼牌是特殊的,多少张都不能扔掉!"

大家貌似都弄懂了规则,于是小霞开始发牌….

聪明的你理解规则了吗?现在假设你是三个人打牌中的一个,给你初始的牌,请算出你最后剩下几张牌。

输入描述

 

输入一行 18个数字,0代表鬼牌,1∼13 是正常的扑克牌的数字。 0 最多只会出现两个,1∼13中每个数字至多只会出现四个。

输出描述

 

输出一行表示最后剩几张牌。

样例输入 1

1 1 4 5 1 4 5 6 8 9 0 0 12 13 13 13 11 10

样例输出 1

10

提示

样例可以丢出的牌有两张 1、两张 4、两张 5、两张 13,共丢出了 8 张,所以共剩下 18−8=10 张牌。 鬼牌(数字 0) 虽然有 2 张,但不能丢弃。

#include<stdio.h>
int main()
{
	int a[14]={0};
	int i=0,num,sum=0;
	for(i=0;i<18;i++)
	{
		scanf("%d",&num);
		a[num]++;
	}
	for(i=1;i<14;i++)
	{
		if((a[i]==2)||a[i]==4)
			sum+=0;
		else if(a[i]==3)
			sum++;
		else if(a[i]==1)
			sum++;
	}
	printf("%d",sum+a[0]);
	return 0;
} 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值