#P7978. 「Stoi2033」听见下雨的声音

    ID: 6709 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>数学Special Judge位运算构造

「Stoi2033」听见下雨的声音

题目背景

而我听见下雨的声音
想起你用唇语说爱情
幸福也可以很安静
我付出一直很小心
终于听见下雨的声音
于是我的世界被吵醒
就怕情绪红了眼睛
不舍的泪在彼此的脸上透明
——《听见下雨的声音》

题目描述

SNS 现在要举办一次比赛,总共有 nn 个项目,比赛分 nn 场举行,每个项目恰比赛一场。

校长希望比赛结果更多样,于是他决定从同学们之中找到 2n2^n 位实力适当的选手,满足每个项目中每人的实力各不相同。

选定所有选手后,校长再进行适当的场次安排,且在进行每场比赛时对应比赛项目实力较强的一半选手晋级,其余人淘汰,不再参与之后的比赛,直到最后只剩下一位选手成为最终的冠军。

校长希望对于所有不同的比赛场次安排,最终可能夺冠的不同人数尽量多。现在他想要求出这个最大值,并且对于每个可能夺冠的选手找到一种安排每场比赛项目的方式使得 ta 最终夺冠。

因为校长公务繁忙,所以他要求作为学校首位 AKIOIer 的你来帮他完成这个任务。具体地,你需要先对 i=1,2,,ni=1,2,\dots,n 给出第 ii 项的选手实力从强到弱排名(用选手编号的排列表示),再对每位可能夺冠的选手给出一个 1,2,,n1,2,\dots,n 的排列表示安排的场次顺序让他最终夺冠。可见 输出格式

输入格式

一行一个正整数 nn

输出格式

第一行输出一个数 mm 表示最多有多少人可能夺冠。

接下来 nn 行,第 ii 行输出 2n2^n 个数依次表示第 ii 个项目实力从高到低的选手编号。

接下来 mm 行,每行先输出一个数 xx 表示一个可以夺冠的选手的编号,然后输出一个 1,2,,n1,2,\dots,n 的排列表示一种场次安排的方式使得 xx 最终夺冠。

请务必保证输出格式正确,否则 Special Judge 可能会出现错误。

2

2
1 3 2 4
3 1 4 2
1 2 1
3 1 2

提示

样例解释

首先由于至多只有 22 种场次安排方式,所以显然至多只有 22 人可能夺冠。

对于选手 11,首先项目 22 会淘汰 4,24,2,剩下选手 1,31,3,然后项目 11 会淘汰 33,最终 11 夺冠。

对于选手 33,首先项目 11 会淘汰 2,42,4,剩下选手 1,31,3,然后项目 22 会淘汰 11,最终 33 夺冠。

数据范围

本题共有 1111 个测试点,第 ii 个测试点满足 n=i+2n=i+2

每个测试点分值分别为 6,7,8,8,8,8,8,11,11,12,136,7,8,8,8,8,8,11,11,12,13

本题提供 Special Judge 源码 和 checker.exe(见 附件下载)。以下是 checker.exe 可能的返回结果及其含义:

  • Wrong answer.:可能夺冠的人数 mm 有误。

  • Invalid contestant number.:出现不合法的选手编号,包括选手编号不为 [1,2n][1,2^n] 中的整数,或排名不为 1,2,,2n1,2,\dots,2^n 的排列。

  • Invalid item number.:出现不合法的项目编号,包括项目编号不为 [1,n][1,n] 中的整数,或排名不为 1,2,,n1,2,\dots,n 的排列。

  • Contestant didn't won the first prize.:某名选手并不能通过你给出的比赛场次安排夺冠。

  • Accepted:答案正确。