AT_arc176_a [ARC176A] 01 Matrix Again
题目描述
给定一个 $N \times N$ 的矩阵,你需要向其中填入 $0$ 或 $1$,使其满足以下条件:
- $(A_1,B_1),(A_2,B_2),...,(A_M,B_M)$ 处的值为 $1$。
- 第 $i$ 行的所有数字之和为 $M$ $(1 \le i \le N)$。
- 第 $i$ 列的所有数字之和为 $M$ $(1 \le i \le N)$。
输入格式
第一行有两个整数 $N$ 和 $M$。
接下来有 $M$ 行,第 $i+1$ 行有两个整数 $A_i$ 和 $B_i$。
输出格式
第一行输出矩阵中 $1$ 的个数 $k$。
接下来有 $k$ 行,第 $i+1$ 行输出两个整数 $x_i$ 和 $y_i$,表示 $(x_i,y_i)$ 处的值为 $1$。(顺序任意)
说明/提示
### 约束条件
- $1 \le N \le 10^5$
- $1 \le M \le \min(N,10)$
- $1 \le A_i, B_i \le N$
- 当 $i \neq j$ 时,$(A_i, B_i) \neq (A_j, B_j)$。
### 样例解释 1
该输出按以下方式填充网格。所有条件均被满足,因此该输出是正确的。
```
0101
1001
0110
1010
```