CF291D Parallel Programming
题目描述
有一个长度为 $n$ 的数组 $a$。最初,$a = \{1,1,1,\dots,1,1,0\}$。
你可以执行 $k$ 次操作:对于每个 $i \in [1,n]$,你可以选择一个 $c \in [1,n]$,并执行 $a_i \gets a_i + a_c$。所有 $a_i\ (i \in [1,n])$ 都会**同时**执行更改的操作。
你的目标是在 $k$ 次操作后将数组 $a$ 变为 $\{n-1,n-2,n-3,\dots,2,1,0\}$。输出一种合法的方案(即每个 $c$)。
**保证数据合法,即存在至少一个解。**
输入格式
输入一行,包含两个整数 $n,k(1 \le n \le 10^4, 1 \le k \le 20)$。
输出格式
输出 $n \times k$ 行,第 $i$ 行 $j$ 列表示第 $i$ 次操作时 $a_j$ 加上的值 $c$。
说明/提示
对于样例 #2:
最初,$a = \{1,1,0\}$。
第 $1$ 次操作:
| $i$ | $1$ | $2$ | $3$ |
| :----------: | :----------: | :----------: | :----------: |
| $a$ | $1$ | $1$ | $0$ |
| $c$ | $2$ | $3$ | $3$ |
| $a_c$ | $1$ | $0$ | $0$ |
| 结果 | $2$ | $1$ | $0$ |
第 $2$ 次操作:
| $i$ | $1$ | $2$ | $3$ |
| :----------: | :----------: | :----------: | :----------: |
| $a$ | $2$ | $1$ | $0$ |
| $c$ | $3$ | $3$ | $3$ |
| $a_c$ | $0$ | $0$ | $0$ |
| 结果 | $2$ | $1$ | $0$ |
所以,答案为
$$\begin{bmatrix}2 & 3 & 3\\ 3 & 3 & 3\end{bmatrix}$$
Translated by liuli688