洛谷 P8836 [传智杯 #3 决赛] 打牌

这篇具有很好参考价值的文章主要介绍了洛谷 P8836 [传智杯 #3 决赛] 打牌。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

洛谷题目链接

分析

记录上一个出牌的人的出牌数量,和出牌种类,用桶来记录每个人每种牌的数量,枚举每一种种类,如果当前牌的数量大于上一次的出牌数量,则判断其种类,如果种类小于上一次出牌的种类,则需要比上次多出一张牌,否则就跟上一次出牌数量一样多,如果当前牌的数量等于上一次的出牌数量,则判断其种类,如果数量小于,则大小肯定小于上次出牌的大小,不必考虑。

记录连续出不起牌的人的数量,如果有两个人连续出不起牌,则开始一个新的回合,判断谁赢了就判断他的牌是否出完即可。文章来源地址https://www.toymoban.com/news/detail-792751.html

代码

#include <bits/stdc++.h>
#define debug puts("Y")

using namespace std;

int n, m, a[5][55], sum[5];
int prenum = 1, presiz, vis;

int main(){
	cin >> n >> m;
	for(int i = 1, x; i <= 3; i ++){
		for(int j = 1; j <= n; j ++){
			cin >> x;
			a[i][x] ++, sum[i] ++;
		}
	}
	for(; 114514 == 114514;){
		for(int hm = 1; hm <= 3; hm ++){
			int minnum = 1e9, minsiz = 1e9;
			for(int i = 1; i <= m; i ++){
				if(a[hm][i] > prenum){
					if(i <= presiz){
						if(prenum + 1 < minnum || (prenum + 1 == minnum && i < minsiz)){
							minnum = prenum + 1, minsiz = i;
						}
					}else{
						if(prenum < minnum || (prenum == minnum && i < minsiz)){
							minnum = prenum, minsiz = i;
						}
					}
				}else if(a[hm][i] == prenum && i > presiz){
					if(prenum < minnum || (prenum == minnum && i < minsiz)){
						minnum = prenum, minsiz = i;
					}
				}
			}
			if(minnum == 1e9 && minsiz == 1e9){
				vis ++;
				if(vis == 2){
					prenum = 1, presiz = 0;
					vis = 0;
				}
			}else{
				vis = 0;
				a[hm][minsiz] -= minnum, sum[hm] -= minnum;
				prenum = minnum, presiz = minsiz;
				if(!sum[hm]){
					cout << hm;
					return 0;
				}
			}
		}
	}
	return 0;
}
/*

*/

到了这里,关于洛谷 P8836 [传智杯 #3 决赛] 打牌的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 洛谷题单算法1-1模拟与高精度

    发文章只是为了督促自己做题,双非大二刚转科班的菜菜一枚,代码仅供参考,不足之处望理解。         这题太恶心了,看完题解发现三种情况没有考虑,后来给补上了,我的 if-else 思路可能写的不太好,但是能过         注意结构体在函数中的传参(下学期c语言II要好

    2024年02月19日
    浏览(44)
  • eclipse中导入项目(传智书城为例)

            目录 一、数据库引用  二、eclipse中导入项目  三、项目导入后的环境配置 1.jar包修改 2.jre和jdk修改 3.tomcat服务器修改​​​​​​​ 4.编码方式修改 四、运行效果          引言:在开始教程前,请确保电脑中装有mysql、Navicat、eclipse,并且eclipse中配置好tom

    2023年04月08日
    浏览(25)
  • 【洛谷 P1181】数列分段 Section I 题解(贪心算法)

    对于给定的一个长度为 N N N 的正整数数列 A i A_i A i ​ ,现要将其分成 连续 的若干段,并且每段和不超过 M M M (可以等于 M M M ),问最少能将其分成多少段使得满足要求。 第1行包含两个正整数 N , M N,M N , M ,表示了数列 A i A_i A i ​ 的长度与每段和的最大值,第 2 2 2 行包

    2024年02月08日
    浏览(49)
  • 【洛谷算法题】P5710-数的性质【入门2分支结构】

    👨‍💻博客主页:@花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 题目链接:【深基3.例2】数的性质 - 洛谷 一些整数可能拥有以下的性质: 性质 1:是偶数; 性质 2:大于 4 4 4 且不大于 12 12 12 。 小 A 喜欢这两个性质同时成

    2024年02月06日
    浏览(38)
  • bellman_ford算法判负环-洛谷P3371

    总结:这题改了很久,一直wa 问题一:多测要清空数组 问题二:本题其实有点特殊,它要求的是,从1开始出发能到达的负环,也就是这个1实际上必须能到这个负环,如果图不连通,就会出现有负环但1去不了,等于没有负环的情况,这种特殊情况bellman_ford算法是压根没法解决的 一个玄学方法

    2024年02月06日
    浏览(35)
  • 【洛谷 P1003】[NOIP2011 提高组] 铺地毯 题解(数组+贪心算法)

    为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n n n 张地毯,编号从 1 1 1 到 n n n 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上

    2023年04月24日
    浏览(47)
  • 【洛谷算法题】P5709-Apples Prologue / 苹果和虫子【入门2分支结构】

    👨‍💻博客主页:@花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 题目链接:【深基2.习6】Apples Prologue / 苹果和虫子 - 洛谷 八尾勇喜欢吃苹果。她现在有 m m m ( 1 ≤ m ≤ 100 1 le m le 100 1 ≤ m ≤ 100 )个苹果,吃完一个苹果

    2024年02月08日
    浏览(31)
  • 2023年NOC决赛-加码未来编程赛项决赛模拟题-Python模拟题--卷5

      题目来源于小码王公众号,有更多答案解析可评论区留言   第一题 题目:输入一个整数n,计算其各位上数字之和,并用汉语写出每一位数字并输出。 【输入格式】一个整数 【输出格式】再一行内输出数字之和的每一位对应的汉字 【输入样例】1234 【输出样例】一零    

    2024年02月16日
    浏览(39)
  • HR SaaS厂商,进入决赛圈

    在愈发需要降本增效的节点,数字化的价值也更在被越来越多的企业重新审视,这种重视不再是之前或有或无的可选项,而是基于真正人效比维度的必选项  作者|斗斗  编辑|皮爷 出品|产业家  SaaS行业,正在发生一些微妙的变化。 以HR SaaS赛道为例,7月中旬,“钉钉推出新

    2024年02月15日
    浏览(29)
  • “中国软件杯”飞桨赛道晋级决赛现场名单公布

    “中国软件杯”大学生软件设计大赛 是由国家工业和信息化部、教育部、江苏省人民政府共同主办,是全国软件行业规格最高、最具影响力的国家级一类赛事,为《全国普通高校竞赛排行榜》榜单内赛事。今年,组委会联合百度飞桨共同设立了“智能系统设计与开源创新专项

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包