副本是游戏里的一个特色玩法,主要为玩家带来装备、道具、游戏资源的产出,满足玩家的游戏进程。
在 MMORPG《最终幻想14》里,有一个攻略人数最大达到 56 人的副本“巴尔德西昂兵武塔”,因为有在副本里死亡不能复活、机制比较整蛊等特点,一度被玩家视作洪水猛兽。
在副本的开始,我们会遇到第一个难关:攻略的玩家要分为两组,同时讨伐副本 BOSS “欧文”和“亚特”。
已知以下信息:
我们的任务是合理安排玩家的分组,以最大程度增加副本通过概率。分组的原则如下:
如果满足上述原则的分组方案不唯一,则按照下列规则确定唯一解:
注:一个队伍编号方案 A={a1<⋯ 本题就请你给出满足所有分组原则的分配方案。 感谢 王宪泉 同学对规则 4 的指正,于 2022-08-04 修改 输入第一行给出 6 支队伍的玩家数量,即 6 个非负整数 Vi (0≤Vi≤8,1≤i≤6)。队伍人数为 0 时表示队伍不存在。 随后 6 行,按队伍编号顺序,每行给出一支队伍的特殊角色,格式为 注:由于可能存在一人兼任多个特殊角色的情况,所以一支队伍中的特殊角色数量有可能大于该队伍的玩家数量。 输出分两行,第一行输出讨伐“欧文”的队伍编号,第二行输出讨伐“亚特”的队伍编号。同一行中的编号按升序输出,以 1 个空格分隔,行首尾不得有多余空格。 如果不存在合法的方案,输出 题意: 根据题目中给出的各种规则,将若干队伍分为两组,若存在方案输出分组方案,否则输出GG。 分析: 这道题目是一道比较麻烦的模拟题,可以先处理下每个队伍是否有MT、工兵和指挥,然后二进制枚举0~1<<6,对于枚举出来的一个数字就代表一种分组方案,这里我假设为1的位是讨伐欧文的队伍,为0的位是讨伐亚特的队伍,首先先找出来两组都包含MT的分组,如果不存在那么说明无解,如果分组唯一那就直接输出,如果分组不唯一就再遍历找出两组均有指挥和工兵的分组方案,如果不存在的话就只考虑指挥,之后就根据题目中的描述模拟就行,要严格按照题目中说的来,另外题面中规则4后来进行了修改,应该是讨伐“欧文”的人数大于等于讨伐“亚特”的人数而不是之前说的的大于! 具体代码如下:
输入格式:
ABC,其中 A 对应 MT,B 对应工兵,C 对应指挥。三种角色对应取值 0 或 1,0 表示没有该角色,1 表示有。输出格式:
GG。输入样例1:
输出样例1:
输入样例2:
输出样例2:
GG
AIGC下一步:如何用AI再度重构或优化媒体处理?
SSO 和 OAuth2.0 的关系是什么?
软件测试面试必备,一文带你彻底掌握接口测试
java建材公司管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
OSCP系列靶场-Esay-Moneybox保姆级
【电商运营】如何吸引客户?经典WhatsApp营销案例分享!
Python实时获取steam游戏数据
【目标检测】YOLOX训练王者荣耀数据集
Day4: 应用篇-1