#P9837. 汪了个汪

    ID: 9126 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>图论洛谷原创Special JudgeO2优化图论建模构造洛谷月赛Ad-hoc

汪了个汪

题目背景

你说得对,但是小 P 在 [NOIP2022] 喵了个喵 中没有输出操作次数,获得了 00 分的好成绩。

题目描述

小 P 喜欢上了一款叫做《汪了个汪》的游戏。这个游戏有一个牌堆和一个金字塔形的棋盘,总共有 33 关。具体地,如图所示,棋盘的边长为 nn,第 ii 行有 ii 个格子,共 n(n+1)2\dfrac{n(n+1)}{2} 个格子。

牌堆中有 1,2n1, 2 \dots n 的数字卡片 各无穷多张。你需要将这些数字卡片放到对应的棋盘格子中,每个格子恰好放一张数字卡片,要求满足棋盘的每一行的第一个元素 互不相同

小 P 发现,这个游戏的难度会随着关卡编号而增加:

  • 在第 00 关中,你不必满足其他条件。
  • 在第 11 关中,你需要保证一行内相邻的两个数互不相同,且所有由任意一行内相邻两个数组成的 无序二元组 互不相同。
  • 在第 22 关中,你需要满足第 11 关的限制,并且一行内的 所有数 必须互不相同。

例如,下面是 n=5n=5 时可以通过第 22 关的摆放方式:

现在给定 nn 与关卡编号,请你帮小 P 找出一种合适的摆放方式来通过这一关。可以证明在游戏限制下一定存在一种过关方式。

输入格式

从标准输入中读入数据。

仅一行,包含两个整数 n,tn, t,其中 tt 表示关卡编号。

输出格式

输出到标准输出。

输出 nn 行,第 ii 行包含 ii 个正整数(以空格分隔),表示棋盘第 ii 行从左到右所有的数。

如果有多种合法的解,你可以输出任何一种。

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

提示

【说明与提示】

本题下发校验器(checker.cpp)。将 checker.cpp 编译成可执行文件 checker 后,在当前目录执行 checker woof.in woof.out woof.ans 即可校验你的答案是否符合规范。其中 woof.in 可以替换为对应输入文件名称,woof.out 可以替换为对应输出文件名称,也即构造结果。woof.ans 可以为任意文件。

返回结果说明:

  • The numbers are not in the valid range.:说明你的输出不满足每个数字都在 1n1\sim n 的范围内。
  • The first column does not satisfice.:说明你的输出不满足每行开头的数互不相同。
  • The pairs of numbers are not distinct.:说明你的输出不满足所有由任意一行内相邻两个数组成的无序二元组互不相同。
  • The adjacent numbers are not distinct.:说明当前关卡编号 1\ge1 且你的输出不满足关卡 11 的条件。
  • The numbers in a row are not distinct.:说明当前关卡编号 2\ge2 且你的输出不满足关卡 22 的条件。
  • Well done.:说明你的构造满足要求。

【数据范围】

测试点编号 nn \leq t=t = 特殊性质
11 66 00
22 22
343 \sim 4 40004000 A
575 \sim 7 500500 11
8138 \sim 13 22
141614 \sim 16 40004000 11
172017 \sim 20 22
  • 特殊性质 A:保证 n+1n + 1n+2n + 2 为质数。

对于 100%100 \% 的数据,保证 1n40001 \leq n \leq 4000t{0,1,2}t \in \{0, 1, 2\}