01树-简单版本
题号:NC246839
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

注意,本题的简单版本与困难版本的区别在于,简单版本中 n 为偶数,要求 0 和 1 的数量相等,而困难版本中 n 为奇数,要求 0 和 1 的数量相差不超过 1。

现有一个 的方格,保证 n 为偶数,初始时方格的每个格点都为空,你需要在方格的每个格点都填上 0、1 其中一个数字,然后考虑这样一张图:
  • 方格中的每一个格点视为一个点。
  • 两个数字相同的、以边相邻的方格之间视为存在一条边。
你需要构造一个填数方案并输出该 01 方格,满足:

1. 这张图中,所有 0 所在格点相互连通,但不能出现环;所有 1 所在格点相互连通,但不能出现环。
2. 方格中 0 的数量与方格中 1 的数量相等

可以证明,对于任意合法的输入均保证有解。

输入描述:

第一行输入一个正整数  , 保证 n 为偶数。

输出描述:

输出一个 n 行,每行输出一个长度为 n 的 01 字符串。

i 行的字符串 s_i 的第 j 个元素 为 0/1 表示你构造的方格的第 i 行第 j 列为 0/1。

若有多组解,输出任意一组即可。

具体可参考样例输出。
示例1

输入

复制
4

输出

复制
1111
0001
0111
0000

备注:

以下给出一个 的构造是合法的。(另外,样例已经给了一组  的合法情况)

以下给出一个 的构造是非法的,因为所有 0 所在的格点形成了环(且 0 和 1 的数量不等)。

以下给出一个 的构造是非法的,因为所有 1 所在的格点不连通。

以下给出一个  的构造是非法的,因为所有 0 所在的格点形成了环(且所有 1 所在的格点不连通)。