CF1996B Scale
题目描述
Tina 有一个 $n$ 行 $n$ 列的正方形网格。网格中的每个格子要么是 $0$,要么是 $1$。
Tina 想要将网格按 $k$ 的比例缩小($k$ 是 $n$ 的约数)。为此,Tina 会将网格划分为 $k \times k$ 的不重叠小块,使得每个格子恰好属于一个小块。
然后,Tina 用该小块中格子的值来替换整个小块为一个格子。保证每个小块中的所有格子值都相同。
例如,下面的演示展示了一个网格按 $3$ 的比例缩小的过程。
原始网格
$0$ $0$ $0$
$1$ $1$ $1$
$0$ $0$ $0$
$1$ $1$ $1$
$0$ $0$ $0$
$1$ $1$ $1$
$1$ $1$ $1$
$0$ $0$ $0$
$1$ $1$ $1$
$0$ $0$ $0$
$1$ $1$ $1$
$0$ $0$ $0$
缩小后的网格
$0$ $1$
$1$ $0$
请帮助 Tina 按 $k$ 的比例缩小网格。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 100$),表示测试用例的数量。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 1000$,$1 \leq k \leq n$,$k$ 是 $n$ 的约数),分别表示网格的行数和列数,以及 Tina 想要缩小的比例因子。
接下来的 $n$ 行,每行包含 $n$ 个字符,描述网格中的格子。每个字符要么是 $0$,要么是 $1$。保证每个 $k \times k$ 的小块中的所有格子值都相同。
保证所有测试用例中 $n$ 的总和不超过 $1000$。
输出格式
对于每个测试用例,输出缩小后的网格,每个测试用例输出一行。
说明/提示
由 ChatGPT 4.1 翻译