SP10451 STUN - Stun Boosting
题目描述
Nloglônia 的居民对电子游戏极其着迷,他们每天沉浸在游戏的世界里好几个小时。作为一个竞争性极强的社区,他们彼此赛跑谁在游戏中取得更多的成就或奖杯。当有人开始新游戏时,通常会先进行单人模式的部分,但他们真正喜欢的还是多人模式。
最近,一款关于刺客的游戏在这个城市变得非常流行。在这个游戏的多人模式中,目标是追捕并刺杀其他刺客。玩家的游戏能力通过经验值(XP)来衡量,这取决于他们在游戏中完成的各种动作,例如杀掉或毒害一个目标、逃避追杀或使别人昏迷等。
问题在于,大家都想尽量快速完成游戏,以便可以开启下一个游戏。要完成这款游戏,一个成就是当玩家达到 **X** 点经验值。要获得如此多的经验值,可能需要进行很多轮多人对战,这就是为什么一群朋友决定通过“组队提升”来快速达到经验值。方法是:大家互相帮助,以尽快达到每个人想要的经验值。
游戏规则如下:每场对战有 6 位玩家,分成 3 个队,每队 2 名玩家。玩家按编号从 1 到 6,队伍分配为:玩家 1 和 2 为一队,玩家 3 和 4 为另一队,而玩家 5 和 6 组成第三队。比赛分多轮进行,每轮持续 4 分钟。
为了加快经验增长,玩家们一致同意采取“昏迷”方式互相提升。通过使对方昏迷而不是击杀,只要队员在地图中央遇见,他们就会形成两个小组,每组包含每队的一名玩家。小组中哪个玩家先到中心,他们就可以先开始提升(即昏迷)。如果同一个队的两名玩家同时到达,以编号小的玩家优先加入第一个小组。
在中心集合后,组员开始“昏迷提升”。在一个回合中,组里的每位玩家轮流进行昏迷和被昏迷的过程。例如,玩家1 让玩家2 昏迷,玩家3 让玩家1 昏迷,随后玩家2 起身后让玩家 3 昏迷。一个昏迷回合需要 7 秒。在一轮内,这个流程不断重复,直到时间结束。
除此之外,玩家们遵循两条自定的规则,以尽快提升经验且保证公平:第一,若两个不同队伍的玩家先到达中央,他们必须等待第三个玩家到来才能开始“提升”,(即三人组齐后才可施行)。第二,若一轮中剩余时间不足完成整个昏迷回合,而至少有2秒时间剩余时,他们可以互相下毒以获取额外经验值。
昏迷一次,每位玩家可得 300XP;而毒杀一次,则获得 1800XP。需要注意,获得的昏迷经验值会在回合(7秒)结束时计算,而毒杀经验值则在该 4分钟轮次结束时结算。另外,当进行毒杀时,三名玩家都可同时毒杀其他人,因为完成毒杀需要一定时间。玩家们只在无法完成一次完整的昏迷回合时,才会考虑下毒(尽管,毒杀会带来更高的经验增长)。
你将知道每个玩家想要达到的经验目标、他们玩过的轮次以及初始经验。对每一轮,你会知道每位玩家到达地图中心所花费的时间。玩家希望知道谁在第几轮最先达到经验目标。如果没有玩家达到目标,他们想知道所有比赛结束后每位玩家的最终经验值。
输入格式
输入包含若干个测试用例。每个测试用例的第一行包含两个整数 **X** 和 **R** (1 ≤ X, R ≤ 10^5)。第二行包含六个整数 **X $ _{i} $** (1 ≤ i ≤ 6),表示��个玩家在开始提升前的初始经验值。接下来的 **R** 行,每行包含六个整数 **T $ _{i} $** (1 ≤ T $ _{i} $ < 240),表示在该轮中第 **i** 个玩家到达地图中心所需的时间。
输入以 **X** = **R** = 0 结束。
_输入应从标准输入读取。_
输出格式
对于每个测试用例,程序输出一行。如果某位玩家达到了目标经验值,输出两个整数,代表第一个达到目标经验的玩家编号,以及所需轮数。如果有多位玩家同时达到,则输出编号最小的玩家。如果没有玩家达到目标,输出 -1,然后六个整数,表示所有比赛结束后每位玩家的经验值。
_输出应写入标准输出。_
**本翻译由 AI 自动生成**