P17244 [IOI 2026] 魔幻之城 / Magic City
题目描述
塔什干市的市长想要重新设计著名的魔幻之城游乐园。给定一个正整数 $K$,你的任务是设计一个游乐园如下:
- 选择一个整数 $N$ 作为景点的数量。景点用 $0$ 到 $N-1$ 的整数进行编号。
- 添加若干条双向步道,每条步道连接两个**不同的**景点。在同一对景点之间可以有不止一条步道。**不要求通过这些步道就能在任意两个景点之间通行。**
- 对于每个满足 $0\le i
输入格式
```text
K
```
输出格式
```text
N M
T[0] T[1] ... T[N-1]
U[0] V[0]
U[1] V[1]
...
U[M-1] V[M-1]
```
请注意,评测程序示例的输出结果满足输出文件的格式要求。
说明/提示
### 例子
考虑以下调用:
```cpp
construct(1)
```
在这个例子中,$K=1$,因此有 $2K=2$ 种景点类型。下图展示了一个包含 $N=4$ 个景点和 $M=2$ 条步道的符合要求的答案。景点 $0,1,2$ 的类型为 $0$,景点 $3$ 的类型为 $1$。
:::align{center}

:::
这里共有两个有趣的三元组:
- 对于类型三元组 $(0,1,0)$,我们可以选择 $(a_1,a_2,a_3)=(2,3,2)$。
- 对于类型三元组 $(1,0,1)$,我们可以选择 $(a_1,a_2,a_3)=(3,2,3)$。
这表明条件 1 已满足。
该函数可以返回二元组 $([0,0,0,1],[(0,1),(2,3)])$。请注意,此处提供的答案可能不是 $K=1$ 时的最优解。
### 约束条件
- $1\le K\le 50$
### 评分
共有 $50$ 个子任务,分别对应从 $1$ 到 $50$ 的整数 $K$。对于子任务 $i$($1\le i\le 50$),$K$ 的值为 $i$。
每个子任务都有一个分值 $S$ 和景点的目标数量 $P$,如下表所示:
| 子任务 | $S$ | $P$ |
|:---:|---:|:---:|
| $1$ | $1$ | $2$ |
| $2$ | $8$ | $12$ |
| $3$ | $9$ | $24$ |
| $4$ | $9$ | $40$ |
| $5$ | $9$ | $50$ |
| $6$ - $10$ | $4$ | $12\cdot K$ |
| $11$ - $12$ | $3$ | $12\cdot K$ |
| $13$ - $50$ | $1$ | $12\cdot K$ |
对于每个子任务,如果你的答案未给出一个符合要求的游乐园,则你的得分为 $0$(在 CMS 中报告为 `Output isn't correct`)。
否则,你的得分将根据下表由 $N$ 以及参数 $S$ 和 $P$ 计算:
| 条件 | 分数 |
|:---:|:---:|
| $N\le P$ | $S$ |
| $P