loj#P4044. 「JOI Open 2015」彩色瓷砖

「JOI Open 2015」彩色瓷砖

Cannot parse: undefinedms error parsing time

题目描述

译自 JOI Open 2015 T1 「タイルの飾り付け / Colored Tiles

2018 年,国际信息学奥林匹克竞赛将在日本举行。为了庆祝这一盛事,IOI 委员会计划制作一件 「略有奇特的设计」的艺术品,并用它来装饰比赛场地。委员会向 JOI(Just Odd Inventions)有限公司提出了设计要求。JOI 的设计师给出了以下方案:

  • 艺术品将制作在一个由 H×WH \times W 个单元格组成的矩形板上。我们将用 NN 块瓷砖铺满这个板。瓷砖之间不会重叠。
  • 瓷砖 i (1iN)i\ (1 \leq i \leq N) 的大小是 1×11 \times 11×21 \times 2。瓷砖 ii 的颜色是 CiC_{i}
  • 我们可以旋转 1×21 \times 2 的瓷砖,并将其作为 2×12 \times 1 的瓷砖使用。

此外,他们还给出了艺术品的瓷砖种类。但是,他们没有给出如何在板上铺瓷砖,这是设计中最重要的部分。因为 JOI 给出的设计总是很美,所以委员会决定遵循 JOI 给出的瓷砖种类的方案。委员会必须想出一种在板上铺瓷砖的方法。委员会想要找到一种铺瓷砖的方式,使得设计的美感尽可能大。

设计的美感按以下方式计算:

  • 对于板上的单元格的公共边,如果它由颜色为 jj 和颜色为 kk 的两块瓷砖共享,那么它的分数是 Aj,kA_{j, k}
  • 设计的美感是板上所有公共边的分数之和。

如果两块 1×21 \times 2 的瓷砖共享两个单元格的边,我们分别计算这两条边的分数。你的任务是计算出一种在板上铺瓷砖的方法,使得美感尽可能大。

给定板的大小,每块瓷砖的大小和颜色,确定一种铺瓷砖的方法,使得美感尽可能大。

输入格式

本题共 55 组数据。

每组数据的第一行包含四个用空格分隔的整数 H,W,K,NH, W, K, N,表示矩形板由 H×WH \times W 个单元格组成,瓷砖有 KK 种颜色,设计中使用了 NN 块瓷砖。

接下来的 NN 行中的第 i (1iN)i\ (1 \leq i \leq N) 行包含两个用空格分隔的整数 Si,CiS_{i}, C_{i},表示瓷砖 ii 的大小是 1×Si1 \times S_{i},颜色是 CiC_{i}

接下来的 KK 行中的第 j (1jK)j\ (1 \leq j \leq K) 行包含 KK 个用空格分隔的整数 Aj,1,Aj,2,,Aj,KA_{j, 1}, A_{j, 2}, \ldots, A_{j, K},表示当颜色为 jj 和颜色为 kk 的两块瓷砖共享一条边时分数是 Aj,kA_{j, k}

输出格式

输出 NN 行。第 i (1iN)i\ (1 \leq i \leq N) 行表示了瓷砖 ii 放在板上的位置,格式如下:

  • Si=1S_{i}=1 时,第 ii 行应包含两个用空格分隔的整数 Ai,BiA_{i}, B_{i},表示瓷砖 ii 放在从上往下数第 AiA_{i} 行第 BiB_{i} 列的单元格上。
  • Si=2S_{i}=2 时,第 ii 行应包含四个用空格分隔的整数 Ai,Bi,Ci,DiA_{i}, B_{i}, C_{i}, D_{i},表示瓷砖 ii 放在了第 AiA_{i} 行第 BiB_{i} 列以及第 CiC_{i} 行第 DiD_{i} 列的单元格的位置。
3 2 3 4
1 1
2 2
1 3
2 1
2 7 5
7 4 3
5 3 1
2 2
1 1 1 2
3 2
3 1 2 1

在这个样例中,设计的板的大小是 3×23 \times 2,使用了 44 块瓷砖。每块瓷砖的颜色和大小如下:

编号 颜色 大小
11 11 1×11 \times 1
22 22 1×21 \times 2
33 33 1×11 \times 1
44 11 1×21 \times 2

有一块大小为 1×11 \times 1,颜色为 11 的瓷砖,一块大小为 1×21 \times 2,颜色为 22 的瓷砖,一块大小为 1×11 \times 1,颜色为 33 的瓷砖,和一块大小为 1×21 \times 2,颜色为 11 的瓷砖。

我们按以下方式放置瓷砖。图中的数字表示瓷砖的编号。

设计的美感按以下方式计算。该设计的美感是 2626

  • 颜色为 22 的瓷砖 22 和颜色为 11 的瓷砖 44 共享一条边,我们得到 77 个分数。
  • 颜色为 22 的瓷砖 22 和颜色为 11 的瓷砖 11 共享一条边,我们得到 77 个分数。
  • 颜色为 11 的瓷砖 44 和颜色为 11 的瓷砖 11 共享一条边,我们得到 22 个分数。
  • 颜色为 11 的瓷砖 44 和颜色为 33 的瓷砖 33 共享一条边,我们得到 55 个分数。
  • 颜色为 11 的瓷砖 11 和颜色为 33 的瓷砖 33 共享一条边,我们得到 55 个分数。

计分

对于每个输出文件,您的分数将以以下方式计算:

  • 如果放置瓷砖的方式不符合输出文件的条件,得分为零。
  • 如果放置瓷砖的方式符合输出文件的条件,得分根据 X,YX, Y 的值计算如下。设 BB 为放置瓷砖的方式设计的美观程度。
    • 如果 B<XB<X,得分为零。
    • 如果 XB<YX \leq B<Y,得分为 $\left\lfloor 1+19 \times\left(\frac{B-X}{Y-X}\right)^{2}\right\rfloor$。这里, x\lfloor x\rfloor 是不大于 xx 的最大整数。
    • 如果 YBY \leq B,得分为 2020

数据范围与提示

对于所有输入数据,满足:

  • 1H1001 \leq H \leq 100
  • 1W1001 \leq W \leq 100
  • 1K1001 \leq K \leq 100
  • 1N100001 \leq N \leq 10000
  • 1Si2 (1iN)1 \leq S_{i} \leq 2\ (1 \leq i \leq N)
  • 1CiK (1iN)1 \leq C_{i} \leq K\ (1 \leq i \leq N)
  • H×W=S1+S2++SNH \times W=S_{1}+S_{2}+\ldots+S_{N}
  • $0 \leq A_{j, k} \leq 1000\ (1 \leq j \leq K, 1 \leq k \leq K)$
  • $A_{j, k}=A_{k, j}\ (1 \leq j \leq K, 1 \leq k \leq K)$

对于每个测试点,H,W,K,NH, W, K, N 的值如下表所示。关于 X,YX, Y 的值,请参见计分。

测试点编号 HH WW KK NN XX YY
11 77 2424 33 168168 124000124000 130000130000
22 5050 5050 8080 18001800 32600003260000 38500003850000
33 100100 100100 100100 72007200 74200007420000 92200009220000
44 100100 100100 100100 70007000 71500007150000 90000009000000
55 100100 100100 100100 52005200 1170000011700000 1385000013850000