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 翻译