QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 128 MB Points totaux : 100

#474. 3D 俄罗斯方块

Statistiques

“俄罗斯方块”游戏的作者决定制作一个全新的三维版本,让长方体落在一个矩形平台上。方块会按照一定的顺序依次落下,就像在二维游戏中一样。方块会一直下落,直到碰到障碍物(平台或其他已经停止运动的方块),然后它会停下并保持在该位置直到游戏结束。

然而,作者希望改变游戏的风格,将其从简单的街机游戏转变为更具挑战性的益智游戏。已知方块落下的顺序及其飞行路径,玩家的任务是计算出所有方块落下并停止后,整个堆叠结构最高点的高度。所有方块均垂直下落,且在下落过程中不会旋转。为了方便起见,我们在平台上建立一个笛卡尔坐标系,原点位于平台的一个角上,坐标轴与平台的边缘平行。

请编写一个程序来自动验证玩家的答案。

任务

编写一个程序:

  • 从标准输入读取后续下落方块的描述,
  • 确定所有方块落下并停止后,堆叠结构最高点的高度,
  • 将结果写入标准输出。

输入格式

输入的第一行包含三个整数 $D$、$S$ 和 $N$($1 \le N \le 20\,000$,$1 \le D, S \le 1\,000$),分别用空格分隔,表示平台的长度、深度以及将要落下的方块数量。接下来的 $N$ 行每行描述一个方块。

每个方块的描述包含五个整数:$d$、$s$、$w$、$x$ 和 $y$($1 \le d$,$0 \le x$,$d + x \le D$,$1 \le s$,$0 \le y$,$s + y \le S$,$1 \le w \le 100\,000$),分别表示方块的长度、深度和高度。该方块将以其 $d \times s$ 的面作为底面落下,其中方块的长度和深度与平台的对应边平行。方块在平台上的投影顶点的坐标为:$(x, y)$、$(x+d, y)$、$(x, y+s)$ 和 $(x+d, y+s)$。

输出格式

标准输出的第一行且仅包含一个整数,即所有方块落下并停止后,堆叠结构最高点的高度。

样例

输入 1

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

输出 1

6

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.