Description
给你一个整数 n,有一集合 U={1,2,…,n}。
你需要构造 n 个集合 S1,2,…,n,满足条件:
- 对所有 1≤i≤n,Si⊆U;
- 对所有 1≤i<j≤n,∣Si∩Sj∣≤1。
为了不让暴力通过,你希望 i=1∑n∣Si∣ 尽量大。
一行两个整数 n,L,关于 L 的信息见「数据规模与约定」部分。
输出 n 行,每行一个长为 n 的 01 字符串。
若第 i 行第 j 列的字符为 1,代表 j∈Si,否则代表 j∈/Si。
3 5
111
010
100
Hint
数据规模与约定
为了衡量你的构造强度,你将会得到一个整数 L。
对于每个数据点,你需要构造出一组解使得 ∑i=1n∣Si∣≥L。
::cute-table
| 数据点编号 | n= | L= |
| :----------: | :----------: | :----------: |
| 1 | 4 | 8 | 10 |
| 2 | 10 | 23 | 10 |
| 3 | 2333 | 4666 | 10 |
| 4 | ^ | 6996 | 10 |
| 5 | ^ | 104 | 10 |
| 6 | ^ | 2×104 | 10 |
| 7 | ^ | 4×104 | 10 |
| 8 | ^ | 6×104 | 10 |
| 9 | ^ | 8×104 | 10 |
| 10 | ^ | 105 | 10 |
对于所有数据,保证 4≤n≤2333。
提示
构造一张左右部点数均为 n 的二分图,对于所有 1≤i,j≤n,左侧点 i 与右侧点 j 之间有边当且仅当 j∈Si。容易验证,此时构造出的图中无四元环。