SP5014 CRAZYR - Crazy Receptionist
题目描述
在马德里逛了好几个小时后,你终于找到了 NH Zurbano 酒店,所有参赛选手将在 SWERC 周末期间入住这里。每支队伍在注册 SWERC 时都会获得一个 ID 号。当你抵达时,酒店的接待员会要求你提供这个 ID,然后根据你的团队注册 ID 和在你之前到达的代表团的 ID 为你分配房间。
酒店的高度和长度都足够容纳所有的代表团,可能是在同一楼层或不同楼层。酒店的电梯位于接待区的左侧,房间则从一楼开始位于电梯的右侧。接待员的房间分配策略是这样的:
接待员会先带你去一楼。然后你沿着走廊走,直到找到一个房间,该房间里面住着一个 ID 比你大的团队。如果此楼层没有这样的团队,你会被安排到你遇到的第一个空房间。如果找到了这样的团队,这个占用房间的团队必须让出房间给你。接着,接待员会将这个团队带到二楼,然后用同样的方法为他们找一个新的房间。如果当时楼层上没有其他团队,则这个团队会被分配到该楼层的第一个房间。
虽然这样的安排行为有些不寻常,但 EPFL 代表团中的某些成员已经习惯了在机场和火车站时常被打乱的旅行和休息。这种有趣的房间策略甚至让你的教练感到十分有趣,并向你提出了一个问题:
给定当前的房间分配情况,你能列出所有可能的队伍到达顺序吗?
输入格式
第一行包含测试用例的个数 $C$($C \leq 50$)。每个测试用例的第一行给出一个整数 $N$($1 \leq N \leq 50$),表示队伍的数量。接下来的一行包含 $N$ 个整数 $r_1, r_2, \ldots, r_N$($1 \leq r_i \leq 1000$),每个数字表示对应队伍的房间号。
输出格式
对于每个测试用例,先输出测试用例编号,然后输出所有可能的到达顺序的数量 $P$。输出格式请参考样例。
在接下来的 $\min(10, P)$ 行中,按字典序输出可能的到达顺序中最小的几个。
**本翻译由 AI 自动生成**