loj#P4064. 「JOI Open 2013」一票的差距
「JOI Open 2013」一票的差距
Cannot parse: undefinedms error parsing time
题目描述
译自 JOI Open 2013 T1 「一票の格差 / Vote-Value Disparity」
由 个省份组成的 JOI 王国将要举行一场全国性的选举。
JOI 王国是一个由 个方块组成的矩形网格。在垂直方向上有 个方块,在水平方向上有 个方块。每个方块都与上下左右相邻的方块相连。 个方块被划分为 个省份。每个省份是由若干个方块组成的一个连通块。第 个省份有 个选民。
你是 JOI 国家选举委员会的主席。你的任务是将 个省份划分为 个选区,每个选区会有一个代表。每个选区应该包含至少一个省份,而且属于同一个选区的方块应该形成一个连通块。注意方块只与上下左右相邻的方块联通,跟对角相邻的方块不联通。
对于每个选区,令 为选区中的选民数,该选区的单票权重为 。一票的差距被定义为所有选区的单票权重的最大值除以所有选区的单票权重的最小值。
给定 JOI 王国的省份信息和代表的数量,你需要给出将省份划分为选区的方案,使得一票的差距的值尽可能小。
输入格式
第一行包含四个用空格分隔的整数 ,表示 JOI 王国的地图的高度是 ,宽度是 ,省份的数量是 ,代表的数量是 。
接下来的 行中的每一行包含 个用空格分隔的整数。在第 行中,第 个整数是 ,表示从上到下的第 行,从左到右的第 列的方块属于第 个省份。
在接下来的 行中的第 行包含一个整数 ,表示第 个省份的选民数。
输出格式
输出 行,第 行包含一个整数,表示第 个省份所属的选区的编号。
2 3 4 3
1 1 1
2 3 4
3
5
7
10
1
2
1
3
在这个样例中,JOI 王国的形状如下。

每个省份的选民数分别是 。在这个样例输出中,省份被划分为以下选区。
- 选区 :省份 和省份
- 选区 :省份
- 选区 :省份
每个选区的选民数分别是 。每个选区的单票权重分别是 。因此,选票价值差异是 。如果 ,我们有 $\left(\frac{3-2}{3-1.5}\right)^{2} \times 20=8.8 \cdots$,这个输出值 分。
以下划分是不合法的,因为选区 不形成一个连通块。
- 选区 :省份
- 选区 :省份 和省份
- 选区 :省份
计分
对于每个输入,你的分数按以下方式计算。
如果你的输出不满足任务陈述中的条件,你的分数是 。如果满足条件,设 表示你的输出的一票的价值。然后你的分数按以下方式计算。
- 如果 ,你的分数是 。
- 如果 ,你的分数是 保留整数部分的值。
- 如果 ,你的分数是 。
对于每个测试点, 的值如下表所示。
| 测试点编号 | ||
|---|---|---|
数据范围与提示
对于所有输入数据,满足:
- $1 \leq S_{i,j} \leq N\ (1 \leq i \leq H,1 \leq j \leq W)$
- 对于每个省份,属于该省份的方块形成一个连通块。