第十四届蓝桥杯省赛C++C组C题【三国游戏】题解(AC)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解题思路

由于三种国家都有获胜的可能,所以我们需要分别枚举 X , Y , Z X,Y,Z X,Y,Z 获胜的情况。

X X X 获胜,那么对于第 i i i 个事件的贡献为 a [ i ] − ( b [ i ] + c [ i ] ) a[i]-(b[i]+c[i]) a[i](b[i]+c[i]),根据贪心的策略,我们可以考虑将所有时间按照贡献进行排序,贡献越大则优先选择。

Y , Z Y,Z Y,Z 获胜同理。

注意
  • X X X 的获胜条件为 X > Y + Z X > Y + Z X>Y+Z,非 X ≥ Y + Z X \geq Y + Z XY+Z
  • 无获胜国时,输出 -1

AC_Code

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>using namespace std;typedef long long LL;const int N = 1e5 + 10;int n;
int a[N], b[N], c[N], d[N];int get(int a[], int b[], int c[])
{for (int i = 0; i < n; ++ i )d[i] = a[i] - b[i] - c[i];sort(d, d + n, greater<int>());LL res = 0;for (int i = 0; i < n; ++ i ){res += d[i];if (res <= 0)return i;}return n;
}int main()
{cin >> n;for (int i = 0; i < n; ++ i )cin >> a[i];for (int i = 0; i < n; ++ i )cin >> b[i];for (int i = 0; i < n; ++ i )cin >> c[i];int res = max({get(a, b, c), get(b, a, c), get(c, a, b)});if (res == 0)res = -1;cout << res << endl;return 0;
}

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;const int N = 1e5 + 10;int n;
struct Node
{int x, y, z;
}q[N];bool cmp_x(Node a, Node b)
{return a.x - a.y - a.z > b.x - b.y - b.z;
}bool cmp_y(Node a, Node b)
{return a.y - a.x - a.z > b.y - b.x - b.z;
}bool cmp_z(Node a, Node b)
{return a.z - a.x - a.y > b.z - b.x - b.y;
}int main()
{cin >> n;for (int i = 0; i < n; ++ i )cin >> q[i].x;for (int i = 0; i < n; ++ i )cin >> q[i].y;for (int i = 0; i < n; ++ i )cin >> q[i].z;LL res = -1, sum = 0, t = 0;sort(q, q + n, cmp_x);for (int i = 0; i < n; ++ i ){sum += q[i].x - q[i].y - q[i].z;if (sum <= 0)break;t ++;}res = max(res, t);sum = 0, t = 0;sort(q, q + n, cmp_y);for (int i = 0; i < n; ++ i ){sum += q[i].y - q[i].x - q[i].z;if (sum <= 0)break;t ++;}res = max(res, t);sum = 0, t = 0;sort(q, q + n, cmp_z);for (int i = 0; i < n; ++ i ){sum += q[i].z - q[i].x - q[i].y;if (sum <= 0)break;t ++;}res = max(res, t);cout << (!res? -1: res) << endl;return 0;
}

【在线测评】

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C++写一个线程池

C写一个线程池 文章目录 C写一个线程池设计思路测试数据的实现任务类的实现线程池类的实现线程池构造函数线程池入口函数队列中取任务添加任务函数线程池终止函数 源码 之前用C语言写了一个线程池&#xff0c;详情请见&#xff1a; C语言写一个线程池 这次换成C了&#xff01;…

object-C 解答算法:合并两个有序数组(leetCode-88)

合并两个有序数组(leetCode-88) 题目如下图:(也可以到leetCode上看完整题目,题号88) 首先搞懂,什么叫“非递减顺序” 非递减顺序,是指一个序列中的元素从前往后&#xff08;或从左到右&#xff09;保持不减少或相等。 这意味着序列中的元素可以保持相同的值&#xff0c;但不会…

网络云服务1

第一章 虚拟私有云 前言 在整个ICT基础设施的发展过程中&#xff0c;网络资源一直是必不可少的存在。有了网络资源&#xff0c;设备与设备间&#xff0c;系统与系统间才有了交流&#xff0c;才能更好地去支撑企业业务的快速发展。本章将带领大家了解华为云上的网络服务。 网…

四个节点即可实现的ComfyUI批量抠图工作流

原文链接&#xff1a;ComfyUI面部修复完全指南 (chinaz.com) 下图就是批量抠图的工作流 虽然工作流很简单&#xff0c;但是我们前提还是需要安装好我们的节点 首先安装我们的抠图节点 安装 BiRefNet 所需依赖&#xff1a;timm&#xff0c;如已安装无需运行 requirements.txt…

如何写好建模论文

如何写好建模论文 一、 写好数模答卷的重要性 1.评定参赛队的成绩好坏、高低&#xff0c;获奖级别&#xff0c; 数模答卷&#xff0c; 是唯一依据。 2.答卷是竞赛活动的成绩结晶的书面形式。 3.写好答卷的训练&#xff0c;是科技写作的一种基本训练。 二、 答卷的基本内容&…

【HTML入门】第十五课 - form表单(下)表单控件们(二)

上一小节我们说了文本输入框&#xff0c;密码输入框&#xff0c;数值型输入框&#xff0c;还有大的文本域。这一小节&#xff0c;我们继续说form表单中的一些常用的控件们。 目录 1 单选按钮 2 复选框 3 下拉列表选择 1 单选按钮 单选按钮&#xff0c;就是说一组按钮中&am…

R-CNN 中的区域建议网络

区域建议网络&#xff08;Region Proposal Network&#xff0c;RPN&#xff09;是R-CNN&#xff08;Regions with Convolutional Neural Networks&#xff09;架构中的一个关键组件&#xff0c;特别是在Faster R-CNN中。RPN的主要任务是生成可能包含物体的区域提议&#xff0c;…

buuctf-reverse write-ups (2)

文章目录 buu097-[SUCTF2019]hardcpp状态变量常量值与基本块的对应关系状态变量更新还原控制流程序修复进一步调试修复效果全局变量混淆去除 buu097-[SUCTF2019]hardcpp 这是一个简单的C程序&#xff0c;但带有大量的控制流平坦化混淆。下面我将从头开始编写用于解决此类混淆问…

FairGuard游戏加固入选《嘶吼2024网络安全产业图谱》

2024年7月16日&#xff0c;国内网络安全专业媒体——嘶吼安全产业研究院正式发布《嘶吼2024网络安全产业图谱》(以下简称“产业图谱”)。 本次发布的产业图谱&#xff0c;共涉及七大类别&#xff0c;127个细分领域。全面展现了网络安全产业的构成和重要组成部分&#xff0c;探…

react 快速入门思维导图

在掌握了react中一下的几个步骤和语法&#xff0c;基本上就可以熟练的使用react了。 1、组件的使用。react创建组件主要是类组件和函数式组件&#xff0c;类组件有生命周期&#xff0c;而函数式组件没有。 2、jsx语法。react主要使用jsx语法&#xff0c;需要使用babel和webpa…

二染色,CF 1594D - The Number of Imposters

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1594D - The Number of Imposters 二、解题报告 1、思路分析 并查集&…

uniapp封装请求拦截器,封装请求拦截和响应拦截的方法

首先我们先看一下uni官方给开发者提供的uni.request用来网络请求的api 1 2 3 4 5 6 7 8 9 uni.request({ url: , method: GET, data: {}, header: {}, success: res > {}, fail: () > {}, complete: () > {} }); 可以看到我们每次请求数据的时候都需…

通过MATLAB控制TI毫米波雷达的工作状态之TLV数据解析及绘制

前言 前一章博主介绍了如何基于设计视图中的这些组件结合MATLAB代码来实现TI毫米波雷达数据的实时采集。这一章将在此基础上实现TI毫米波雷达的TLV数据解析。过程中部分算法会涉及到一些简单的毫米波雷达相关算法,需要各位有一定的毫米波雷达基础。 TLV数据之协议解析 紧着…

el-cascader数据回显失败

el-cascader选中数据第一次回显正常&#xff0c;当选中数据改变再次回显时失败&#xff0c;呈现的还是上次的选中数据 如图 常用的方法this. n e x t T i c k ( ( ) > ) 跟 t h i s . nextTick(() > {})跟this. nextTick(()>)跟this.forceUpdate();强制刷新数据都无…

Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBase 正在 章节内容 上一节我们完成了&#xff1a; HBase …

关于dom4j主节点的xmlns无法写入的问题

由于最近需要做一个xml的文件&#xff0c;使用dom4j的时候发现了一个bug&#xff0c;就是我的xmlns根本无法写入到xml的头部标签中。 Element element document.addElement("test"); element.addAttribute("xmlns", "urn:Declaration:datamodel:sta…

【中项第三版】系统集成项目管理工程师 | 第 5 章 软件工程① | 5.1 - 5.3

前言 第5章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术的内容&#xff0c;学习要以教材为准。 目录 5.1 软件工程定义 5.2 软件需求 5.2.1 需求的层次 5.2.2 质量功能部署 5.2.3 需求获取 5.2.4 需求分析 5.2.5 需求规格说明书 5.2.6 需求变…

人工智能算法工程师(中级)课程12-PyTorch神经网络之LSTM和GRU网络与代码详解1

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程12-PyTorch神经网络之LSTM和GRU网络与代码详解。在深度学习领域,循环神经网络(RNN)因其处理序列数据的能力而备受关注。然而,传统的RNN存在梯度消失和梯度爆炸的问题,这使得它在长序列任务中的表现不尽…

高速网络技术变革,RoCE取代IB之路

RoCE取代IB&#xff1a;为何之前是IB&#xff0c;现在是RoCE&#xff1f; 以太网在AI算力中的Why、How和What”。 超以太网联盟&#xff08;UEC&#xff09;由Linux基金会和联合开发基金会共同发起&#xff0c;旨在超越传统以太网功能。通过RDMA和RoCE等技术&#xff0c;UEC为…

SMTP服务器地址与端口号有哪些关系与区别?

SMTP服务器地址如何正确配置&#xff1f;怎么验证服务器的地址&#xff1f; 了解SMTP服务器地址与端口号的关系与区别对于确保邮件系统的正常运作至关重要。AokSend将详细探讨这两者之间的关系和区别&#xff0c;并解释它们在邮件传输过程中的重要性。 SMTP服务器地址&#x…