luogu#P16441. [XJTUPC 2026] 直播获奖
[XJTUPC 2026] 直播获奖
背景
你常常追忆过去。生命瞬间定格在脑海。你将背后的时间裁剪、折叠、蜷曲,揉捻成天上朵朵白云。
时间被裁剪、折叠、蜷曲。咦,你好像不在联合省选 2025 的赛场上。你该在哪里停留?你问你自己。
时光荏苒,小 Z 和小 J 也会散去。而你们和一个人保持连接的方式就是记住,仅此而已。
时光走过,小 Z 和小 J 会再遇见。回首往事,大家都过上了各自想要的生活。
好像有什么不对。咦,你好像也不在 NOI2024 的赛场上。你该在哪里停留?你问你自己。
NOI2233 即将举行。为了增加观赏性,FFC 决定逐一评出每个选手的成绩,并直播即时的获奖分数线。
你终于想到了。你今年刚上初一,你正在 CSP-J 2020 的赛场上,比赛的第二题叫“直播获奖”。由于你不会桶排序,你在这题中取得了 95 分的高分。
咦,你怎么预知了你在“直播获奖”这一题上的得分呢?这真的可能吗?这可能被完成吗?
一年一度的 XJTUPC 又要举办了,但是老牌杂鱼猫娘出题人小标准突然有急事要回趟渐江。
原来你已经退役了。你正坐在 XJTUPC2026 的赛场上做一道叫做“直播获奖”的题目。你该在哪里停留?你问你自己。
题目描述
你正在玩一款被称为「ZJOI2022」的游戏。游戏发生在一个被称作「渐江」的幻想世界。你将扮演一位名为「咋克」的神秘角色,在自由的旅行中邂逅性格各异、能力独特的同伴们,和他们一起击败强敌,找回失散的亲人------同时,逐步发掘「九条可怜」的真相。
每位玩家在结束游戏后,拥有四个属性:
- 游戏 UID。游戏 UID 是每一位玩家的唯一标识符,为一个正整数。所有玩家的 UID 各不相同。
- 游玩游戏所使用的元素。元素为「阴」或者「阳」。
- 所在的游戏公会。每一位玩家属于一个公会,公会由正整数编号标识。
- 游戏成绩。游戏成绩为一个正整数。保证所有玩家的成绩互不相同。
这个游戏使用非常特别的结算方式。具体来说,「评测机」将会按 UID 从小到大的顺序揭露每一位玩家的总分。每位玩家的分数被揭露以后,预示着胜利者的「渐江省队」名单会随之更新。「渐江省队」由 A 队和 B 队组成,两队的成员互不重叠。
根据当前所有已揭露的玩家,按照下述规则更新「渐江省队」名单:
规则一:A 队选拔
设当前已揭露的玩家集合为 。记集合 的大小为 。
A 队最多容纳 位玩家。设 A 队中的玩家构成集合 ,按以下步骤确定 :
- 若 ,则 。
- 若 ,则:
- 将 中的玩家按成绩从高到低排序,取前 名构成集合 。
- 若 中同时包含「阴」和「阳」两种元素,则 。
- 否则, 中所有玩家均为同一元素 (即全「阴」或全「阳」)。此时:
- 取 中元素为 的玩家中成绩最高的前 名,记作 。
- 取 中元素为另一种元素 ()的玩家中成绩最高的 名(若存在),记作 。
- 若 存在,则 ;否则 。
规则二:B 队选拔
在确定 A 队后,从剩余玩家 中选拔 B 队。
B 队最多容纳 位玩家。设 B 队中的玩家构成集合 ,按以下步骤确定 :
- 将 中的玩家按成绩从高到低排序,得到一个顺序列表。
- 初始化 为空,并记录当前省队()中每个公会已入选的人数。
- 按顺序遍历列表中的每位玩家:
- 若当前 B 队人数已达 ,则停止选拔。
- 否则,检查该玩家所属的公会:若该公会在省队中的当前人数严格小于 ,则将该玩家加入 B 队,并更新该公会的人数;否则跳过该玩家,继续下一个。
- 当列表遍历完毕或 B 队满 位玩家时,选拔结束。
你需要在每一位玩家的分数被揭露以后,给出当前的「渐江省队」名单。
你需要给出当前的「渐江省队」名单中所有玩家的 UID,按以下顺序排列:
- 先列出 A 队的所有玩家的 UID,再列出 B 队的所有玩家的 UID;
- 在同一队内,玩家 UID 按从小到大的顺序排列。
输入格式
输入的第一行,包含一个正整数 (),表示游戏的玩家人数。
接下来 行,第 行包含三个整数 和 (),用一个空格分隔,表示一位玩家的信息。具体地:
- 游戏 UID 为 。
- 时,所使用的元素为「阴」; 时,所使用的元素为「阳」。
- 所在的游戏公会编号为 。
- 游戏成绩为 。
保证所有玩家的成绩互不相同。
输出格式
输出共 行,第 行包含若干个整数,用一个空格分隔,表示前 位玩家的成绩被揭露后,「渐江省队」名单中所有玩家的 UID。
每一行先输出 A 队的所有玩家的 UID,再输出 B 队的所有玩家的 UID。同一个队内按照 UID 从小到大的顺序输出。
20
0 1 87
1 8 300
0 2 12
0 8 260
1 3 145
1 8 240
0 4 60
0 8 230
1 5 170
1 8 220
0 6 50
1 7 215
0 9 80
1 10 200
0 11 40
0 8 20
1 8 150
0 8 210
1 12 190
0 13 70
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 4 5 6 3
1 2 4 5 6 3 7
2 4 5 6 8 1 3 7
2 4 6 8 9 1 3 5 7
2 4 6 8 10 1 3 5 7 9
2 4 6 8 10 1 3 5 7 9 11
2 4 6 8 10 1 3 5 7 9 11 12
2 4 6 8 10 1 3 5 7 9 11 12 13
2 4 6 8 10 1 3 5 7 9 11 12 13 14
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15 19
2 4 6 8 10 1 3 5 7 9 11 12 13 14 15 19 20