QOJ.ac

QOJ

总分: 100 仅输出

#4698. 彩色瓷砖

统计

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

  • 艺术品将制作在一个 $H \times W$ 的矩形板上。我们将用 $N$ 块瓷砖铺满这块板。瓷砖之间不能重叠。
  • 第 $i$ 块瓷砖($1 \le i \le N$)的大小为 $1 \times 1$ 或 $1 \times 2$。第 $i$ 块瓷砖的颜色为 $C_i$。
  • 我们可以旋转 $1 \times 2$ 的瓷砖,将其作为 $2 \times 1$ 的瓷砖使用。

此外,他们还提出了艺术品所用瓷砖的种类。然而,他们并没有提出如何在板上铺设瓷砖,而这正是设计的核心部分。由于 JOI 提出的设计总是很美观,委员会决定遵循 JOI 关于瓷砖种类的建议。委员会必须考虑如何在板上铺设瓷砖,并决定以最大化设计美感的方式进行铺设。

设计的美感计算如下:

  • 对于板上由颜色为 $j$ 和颜色为 $k$ 的两块瓷砖共享的单元格边,其得分为 $A_{j,k}$。
  • 设计的美感是板上所有单元格共享边的得分总和。

如果两块 $1 \times 2$ 的瓷砖共享两条单元格边,我们分别计算这两条边的得分。你需要计算出一种铺设瓷砖的方式,使得设计的美感尽可能大。

题目描述

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

输入格式

共有五个子任务。每个子任务对应一个公开的输入数据。每个输入数据文件的格式如下:

  • 第一行包含四个空格分隔的整数 $H, W, K, N$。这意味着矩形板由 $H \times W$ 个单元格组成,瓷砖共有 $K$ 种颜色,设计中使用了 $N$ 块瓷砖。
  • 接下来的 $N$ 行中,第 $i$ 行($1 \le i \le N$)包含两个空格分隔的整数 $S_i, C_i$。这意味着第 $i$ 块瓷砖的大小为 $1 \times S_i$,颜色为 $C_i$。
  • 接下来的 $K$ 行中,第 $j$ 行($1 \le j \le K$)包含 $K$ 个空格分隔的整数 $A_{j,1}, A_{j,2}, \dots, A_{j,K}$。这意味着当颜色为 $j$ 和颜色为 $k$ 的两块瓷砖共享一条边时,得分为 $A_{j,k}$。

输出格式

为每个输入数据文件提交一个输出文件。输出文件包含 $N$ 行。第 $i$ 行($1 \le i \le N$)描述了放置第 $i$ 块瓷砖的方式,格式如下:

  • 当 $S_i = 1$ 时,第 $i$ 行应包含两个空格分隔的整数 $A_i, B_i$。这意味着第 $i$ 块瓷砖被放置在从上往下第 $A_i$ 行、从左往右第 $B_i$ 列的单元格中。
  • 当 $S_i = 2$ 时,第 $i$ 行应包含四个空格分隔的整数 $A_i, B_i, C_i, D_i$。这意味着第 $i$ 块瓷砖被放置在板上,覆盖了从上往下第 $A_i$ 行、从左往右第 $B_i$ 列的单元格,以及从上往下第 $C_i$ 行、从左往右第 $D_i$ 列的单元格。

数据范围

所有输入数据满足以下条件:

  • $1 \le H \le 100$
  • $1 \le W \le 100$
  • $1 \le K \le 100$
  • $1 \le N \le 10\,000$
  • $1 \le S_i \le 2$ ($1 \le i \le N$)
  • $1 \le C_i \le K$ ($1 \le i \le N$)
  • $H \times W = S_1 + S_2 + \dots + S_N$
  • $0 \le A_{j,k} \le 1\,000$ ($1 \le j \le K, 1 \le k \le K$)
  • $A_{j,k} = A_{k,j}$ ($1 \le j \le K, 1 \le k \le K$)

子任务

对于每个子任务,$H, W, K, N$ 的值如下表所示。关于 $X, Y$ 的值,请参阅评分部分。

子任务 $H$ $W$ $K$ $N$ $X$ $Y$
1 7 24 3 168 124\,000 130\,000
2 50 50 80 1\,800 3\,260\,000 3\,850\,000
3 100 100 100 7\,200 7\,420\,000 9\,220\,000
4 100 100 100 7\,000 7\,150\,000 9\,000\,000
5 100 100 100 5\,200 11\,700\,000 13\,850\,000

评分

这是一个仅输出答案的任务。共有五个子任务,每个子任务包含一个输入数据文件。请为每个子任务提交一个输出文件。每个子任务的得分计算如下:

  • 如果放置瓷砖的方式不满足输出文件的条件,得分为 0。
  • 如果放置瓷砖的方式满足输出文件的条件,得分将根据 $X$ 和 $Y$ 的值计算。设 $B$ 为该铺设方式的设计美感。
    • 如果 $B < X$,得分为 0。
    • 如果 $X \le B < Y$,得分为 $\lfloor 1 + 19 \times (\frac{B - X}{Y - X})^2 \rfloor$。其中 $\lfloor x \rfloor$ 表示不超过 $x$ 的最大整数。
    • 如果 $Y \le B$,得分为 20。

样例

输入格式 1

3 2 3 4
1 1
2 2
1 3
2 1
2 7 5
7 4 3
5 3 1

输出格式 1

2 2
1 1 1 2
3 2
3 1 2 1

说明

在该样例输入中,设计板的大小为 $3 \times 2$,使用了 4 块瓷砖。每块瓷砖的颜色和大小如下:

  • 编号 1:颜色 1,大小 $1 \times 1$
  • 编号 2:颜色 2,大小 $1 \times 2$
  • 编号 3:颜色 3,大小 $1 \times 1$
  • 编号 4:颜色 1,大小 $1 \times 2$

这里有一块颜色为 1 的 $1 \times 1$ 瓷砖,一块颜色为 2 的 $1 \times 2$ 瓷砖,一块颜色为 3 的 $1 \times 1$ 瓷砖,以及一块颜色为 1 的 $1 \times 2$ 瓷砖。

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

设计的美感计算如下。设计的美感为 26。

  • 由于颜色为 2 的瓷砖 2 和颜色为 1 的瓷砖 4 共享一条边,我们得到得分 7。
  • 由于颜色为 2 的瓷砖 2 和颜色为 1 的瓷砖 1 共享一条边,我们得到得分 7。
  • 由于颜色为 1 的瓷砖 4 和颜色为 1 的瓷砖 1 共享一条边,我们得到得分 2。
  • 由于颜色为 1 的瓷砖 4 和颜色为 3 的瓷砖 3 共享一条边,我们得到得分 5。
  • 由于颜色为 1 的瓷砖 1 和颜色为 3 的瓷砖 3 共享一条边,我们得到得分 5。

或者逐个上传:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.