AT_rco_contest_2017_qual_a Multiple Pieces
题目描述
在一个由 $H$ 行 $W$ 列的小正方形格子构成的矩形网格中,每个格子上标有一个 $0$ 到 $9$ 之间的整数。我们用 $(i, j)$ 表示位于第 $i$ 行第 $j$ 列的格子,其中 $1 \leq i \leq H, 1 \leq j \leq W$。
在这个网格上,我们要创建由正好 $K$ 个格子组成的小块(称为“拼图块”)。这些格子必须是连通的,也就是说,在同一个拼图块中的所有格子,可以互相通过上下左右相邻的格子到达。
每个格子只能属于一个拼图块。我们需要尽可能多地创建这样的拼图块,并且每个拼图块的分数等于拼图块中所有格子上的数值的乘积。要求最大化所有拼图块的分数总和。
输入格式
输入包含如下信息:
- 第一行包含三个整数:$H$, $W$, $K$
- 接下来的 $H$ 行中,每行包含一个由长为 $W$ 的字符串,用来表示该行中各格子上的数值。
约束条件:
- $H$ 和 $W$ 都是 $50$
- 每个拼图块包含 $K = 8$ 个格子。
输出格式
输出格式为:
- 第一行输出拼图块的数量 $C$。
- 紧接的 $C \times K$ 行,每行输出两个整数,表示一个格子的位置 $(y_{c,k}, x_{c,k})$,即第 $c$ 个拼图块中的第 $k$ 个格子的位置。
要求:
- 在同一个拼图块中的所有格子的位置必须连续输出。
- 同一个拼图块中的格子输出顺序可以是任意的。
- 每个拼图块必须恰好包含 $K$ 个连通的格子。
说明/提示
在服务器机房中排列着 $H \times W$ 台量子计算机,你需要决定如何将它们结合成拼图块。这些拼图块应最大化总分,而这些分数是由拼图块中所有量子计算机能力的乘积给出的。
生成器和测试工具可从以下链接获取:
[生成器和测试器](https://gist.github.com/tomerun/3eb426f32321dff164d3aa7e817bf3b5)
还提供了一个可视化工具:
[可视化工具](https://gist.github.com/tomerun/945734b2301017cb29e123d3491669fc)
### 示例解释
第一个示例中,一个拼图块的分数为 $1 \times 5 \times 3 \times 2 \times 2 \times 3 \times 3 \times 3 = 1620$,另一个则因为包含 0 ,所以分数为 0。因此,该示例的最终得分则是 $\lceil (1620 + 0) / 10000 \rceil = 1$。
**本翻译由 AI 自动生成**