QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 512 MB 満点: 100

#15999. 人人享有正义

統計

阿尔德尼亚(Ardenia)要开战了!阿尔德尼亚著名且享有盛誉的军事单位由 200 名骑士和 200 匹战马组成,他们已经开始为战役做准备。在准备期间,会挑选出 $k$ 名骑士和 $k$ 匹战马(其余的留在军营中),并在某些骑士和某些战马之间建立一种特殊的互信关系。在这种情况下,我们简称为骑士 A 信任战马 B(反之亦然)。一匹战马可以信任任意多名骑士,一名骑士也可以信任任意多匹战马。

对于给定的 $k$ 名骑士和 $k$ 匹战马的队伍,他们之间的信任关系决定了他们愿意参加的战役数量。对于每场战役,每位骑士都会选择一匹他所信任的战马:这构成了一种分配。下图展示了一个包含 4 名骑士($K_1, K_2, K_3$ 和 $K_4$)和 4 匹战马($H_1, H_2, H_3$ 和 $H_4$)及其信任关系的例子。这里共有 3 种不同的可能分配。

两场不同战役的分配必须是不同的(否则骑士们会感到无聊),并且必须尝试所有可能的分配(骑士们非常有好奇心,想要把它们全部测试一遍)。他们的战斗技巧非常高超,这意味着在战争准备期间不会有任何骑士或战马受到伤害。

你的法师预测战争将由 $n$ 场战役组成。你的任务是选择 $k$ 名骑士和 $k$ 匹战马,并在他们之间建立信任关系,使他们恰好能为 $n$ 场战役做好准备。

输入格式

输入包含多组测试数据。

第一行包含一个正整数 $Z \le 100$,表示测试数据的组数。

接下来是 $Z$ 组测试数据。每组测试数据占一行,包含一个整数 $n \in [1, 10^6]$,表示战役的数量。

输出格式

对于每组测试数据:

第一行输出一个正整数 $k \le 200$。

接下来的 $k$ 行,每行包含 $k$ 个二进制数字(0 或 1,中间没有空格),其中第 $i$ 行第 $j$ 列的 1 表示骑士 $i$ 信任战马 $j$(反之亦然)。

这些骑士和战马所能准备的可能战役数量必须恰好为 $n$。

样例

样例输入 1

3
1
3
4

样例输出 1

1
1
4
1000
0110
0101
0111
4
1100
1100
0011
0011

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.