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 自动生成**