牛客寒假算法基础集训营1 E本题主要考察了贪心

示例1

输入

3
4 3
2 4 5 8
1 2
1 4
2 4
3 1
3 1 1
2 3
6 6
1 2 3 4 5 6
2 3
2 3
3 4
4 5
5 6
6 1

输出

1
1
4
#include<bits/stdc++.h>
using namespace std;
int u=0,m,n;
int num=100,tempnum=1;//tempnum表示当前这一组合鸡的排名,num是最终排名
pair<int,int>cm[10];//存储比赛双方
int cur[11];//每一只鸡当前的分数
int path[10][3];//每一局比赛对应的状态
void dfs(int u)
{
	if(u==m)//当前组合的所有比赛完成
	{
		tempnum=1;
		for(int i=2;i<=n;i++)
		{
			if(cur[i]>cur[1])tempnum++;
		}
		num=min(num,tempnum);
		return;
	}

		for(int j=0;j<3;j++)
		{
			if(path[u][j]==0)//对每一次比赛如果当前状态没有出现过
			{
				path[u][j]=1;
				if(j==0)cur[cm[u].first]+=3;//让第一只鸡赢
				else if(j==2)cur[cm[u].second]+=3;//第二只鸡赢
				else {cur[cm[u].first]++;cur[cm[u].second]++;}//平手
				u++;
				dfs(u);
				u--;
				path[u][j]=0;//恢复现场
				if(j==0)cur[cm[u].first]-=3;
				else if(j==2)cur[cm[u].second]-=3;
				else {cur[cm[u].first]--;cur[cm[u].second]--;}
			}
		}

}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		memset(cur,0,sizeof(cur));
		memset(path,0,sizeof(path));
		u=0;tempnum=1;num=100;//每次重置以上变量
		cin>>n>>m;
		for(int i=1;i<=n;i++)cin>>cur[i];
		for(int i=0;i<m;i++)cin>>cm[i].first>>cm[i].second;
		dfs(0);
		cout<<num<<endl;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/369285.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA学习之面向对象

JAVA学习之面向对象 PART ONE&#xff1a;面向对象基础 1.类与对象&#xff1a; 类是一种抽象的概念&#xff0c;它描述了一类具有相似属性和行为的对象的集合。类定义了对象的属性和行为&#xff0c;并且可以作为创建对象的模板。 对象是类的实例&#xff0c;它是类的具体…

[RAM] DRAM 导论:DDR4 | DDR5 | LPDDR5 | GDRR6 | HBM 应运而生

主页&#xff1a;元存储 全文 7700 字&#xff0c;原创请勿转载。 DRAM: where memory meets potential." - Bill Gates 前言 有数据的地方就有存储&#xff0c; 内存是谁都离不开的产品。DRAM主要负责硬盘、主板、显卡等硬件与处理器之间的数据交换。 本博客将介绍D…

STM32--HAL库定时器学习记录(易懂)--持续学习

一、什么是定时器 定时器就是计数器&#xff0c;通过计数完成一系列功能。 二、定时器的分类 定时器分为基本定时器、通用定时器、高级定时器。级别不同&#xff0c;功能不同。级别越高&#xff0c;功能越强。 三、定时器&#xff08;计数器&#xff09;三个重要寄存器 预分…

快速上手AI代码生成:CodeGeeX

1. VSCode等IDE插件直接搜到 CodeGeeX 就可以安装&#xff0c;装上之后&#xff0c;会看到左侧出现了&#xff1a; 2. 登陆以后&#xff0c;在代码区域就可以直接用了。 3. 官网功能说明文档&#xff08;非常简洁清晰&#xff09;&#xff1a; https://zhipu-ai.feishu.cn/wik…

机器学习系列——(九)决策树

简介 决策树作为机器学习的一种经典算法&#xff0c;在数据挖掘、分类和回归等任务中广泛应用。本文将详细介绍机器学习中的决策树算法&#xff0c;包括其原理、构建过程和应用场景。 原理 决策树是一种基于树状结构的监督学习算法&#xff0c;它通过构建一棵树来对数据进行分…

以太网帧格式及ARP协议简介

在以太网中&#xff0c;一个主机和另一个主机进行通信&#xff0c;必须要知道目的主机的MAC地址&#xff08;物理地址&#xff09;&#xff0c;只要知道目的主机的IP地址&#xff0c;就可以通过ARP协议获取目的主机的MAC地址。 1、ARP协议简介 ARP&#xff08;Address Resolut…

2024年【熔化焊接与热切割】考试题及熔化焊接与热切割操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 熔化焊接与热切割考试题根据新熔化焊接与热切割考试大纲要求&#xff0c;安全生产模拟考试一点通将熔化焊接与热切割模拟考试试题进行汇编&#xff0c;组成一套熔化焊接与热切割全真模拟考试试题&#xff0c;学员可通…

京东广告算法架构体系建设--高性能计算方案最佳实践 | 京东零售广告技术团队

1、前言 推荐领域算法模型的在线推理是一个对高并发、高实时有较强要求的场景。算法最初是基于Wide & Deep相对简单的网络结构进行建模&#xff0c;容易满足高实时、高并发的推理性能要求。但随着广告模型效果优化进入深水区&#xff0c;基于Transformer用户行为序列和Att…

网络原理TCP/IP(3)

文章目录 滑动窗口流量控制拥塞控制延迟应答捎带应答 滑动窗口 确认应答策略,对每⼀个发送的数据段,都要给⼀个ACK确认应答.收到ACK后再发送下⼀个数据段.这样做有⼀个比较大的缺点,就是性能较差.尤其是数据往返的时间较长的时候. 为了解决低效率传输&#xff0c;引入了滑动窗…

镜舟科技客户成功团队负责人孟庆欢:湖仓一体将成为数据架构的新范式

大数据产业创新服务媒体 ——聚焦数据 改变商业 随着数字化的概念逐步深入不同领域企业的运营中&#xff0c;业务形态和数字化路径也越来越丰富。这也为企业数据处理、储存的方式提出了更多要求。对于企业&#xff0c;尤其是数据驱动型企业来说&#xff0c;需要强大的解决方案…

STM32F407 CAN 静默回环模式 配置

CAN 静默回环模式 【 Silent_LoopBack】 自发自收&#xff0c;这种方式作“热自检”使用&#xff0c;即自我检查&#xff0c;不干扰总线&#xff0c;也不受总线干扰. 发送&#xff1a;发出的数据&#xff0c;只会传输到自己的输入端&#xff0c;不会影响总线.接收&#x…

隐写术:隐藏信息的秘密艺术

一、引言 隐写术&#xff0c;这个充满神秘色彩的词汇&#xff0c;似乎让我们回到了间谍和秘密特工的时代。但实际上&#xff0c;隐写术在现代社会仍然有着广泛的应用&#xff0c;例如在军事、情报、商业等领域。本文将带你走进隐写术的世界&#xff0c;探索它的原理、应用和防…

Vue3+TS+Vite+Pinia学习总结

VUE3介绍 vue2和vue3之间的区别 因为需要遍历data对象上所有属性&#xff0c;所以如果data对象属性结构嵌套很深&#xff0c;就会存在性能问题。因为需要遍历属性&#xff0c;所有需要提前知道对象上有哪些属性&#xff0c;才能将其转化为getter和setter,所以vue2中无法将data新…

物流平台架构设计与实践

随着电商行业的迅猛发展&#xff0c;物流行业也得到了极大的发展。从最初的传统物流到现在的智慧物流&#xff0c;物流技术和模式也在不断的更新与升级。物流平台作为连接电商和物流的重要媒介&#xff0c;其架构设计和实践显得尤为重要。 一、物流平台架构设计 1. 前端架构设…

Selenium处理Alert弹窗

页面弹窗有 3 种类型&#xff1a; alert&#xff08;警告信息&#xff09; confirm&#xff08;确认信息&#xff09; prompt&#xff08;提示输入&#xff09; 对于页面出现的 alert 弹窗&#xff0c;Selenium 提供如下方法&#xff1a; 序号 方法/属性 描述 1 ac…

leetcode正则表达式匹配问题(困难)

1.题目描述 2.解题思路&#xff0c;这道题自己没做出来&#xff0c;看了官方的题解&#xff0c;感觉对自己来说确实是比较难想的。使用了动态规划的解决方案&#xff0c;这种方案看题解都不一定能看明白&#xff0c;不过有个评论画图讲解的非常明白。其实仔细看题解的话&#…

关于网络面试题汇总

什么是TCP/IP五层模型&#xff1f;它们的作用是啥&#xff1f;基于TCP/IP实现的应用&#xff08;层协议&#xff09;有哪些&#xff1f; TCP/IP五层模型&#xff0c;从上向下分别是&#xff1a; 应用层&#xff1a;应用程序本身&#xff0c;应用层的作用是负责应用程序之间的…

Python实现PDF到HTML的转换

PDF文件是共享和分发文档的常用选择&#xff0c;但提取和再利用PDF文件中的内容可能会非常麻烦。而利用Python将PDF文件转换为HTML是解决此问题的理想方案之一&#xff0c;这样做可以增强文档可访问性&#xff0c;使文档可搜索&#xff0c;同时增强文档在不同场景中的实用性。此…

HTML+CSS:WIFI开关按钮

效果演示 实现了一个按钮的切换效果&#xff0c;当用户点击按钮时&#xff0c;按钮会从一个颜色渐变到另一个颜色&#xff0c;同时按钮的边框和阴影效果也会发生变化。同时&#xff0c;按钮的图标也会从一个颜色渐变到另一个颜色。这个效果可以用来提醒用户进行操作&#xff0c…

一步步成为React全栈大师:从环境搭建到应用部署

文章目录 第一步&#xff1a;环境搭建第二步&#xff1a;了解React基础第三步&#xff1a;组件与路由第四步&#xff1a;状态管理第五步&#xff1a;接口与数据交互第六步&#xff1a;样式与布局第七步&#xff1a;测试第八步&#xff1a;构建与部署《深入浅出React开发指南》内…