QOJ.ac

QOJ

時間限制: 3 s 記憶體限制: 512 MB 總分: 100

#3313. 紧急疏散

统计

日本政府计划在 2020 年将入境游客人数增加到四千万,并在 2030 年增加到六千万。要实现这一目标,不仅需要提高旅游吸引力,进一步发展旅游基础设施也至关重要。

交通方面的一种改进方案是提供极长和/或极宽的车辆,一次运载更多的乘客。然而,车辆过大可能会导致紧急情况下疏散所有乘客所需的时间过长。你需要帮助估算所需的时间。

假设车辆的座位安排如下:

  • 中央过道贯穿整辆车,直接连接到车厢后部中央的紧急出口。
  • 过道两侧各有相同数量的乘客座位排。

所要求的粗略估算基于一个简单的分步模型。所有乘客最初都在各自的座位上,每一步他们可以进行以下移动之一:

  • 座位上的乘客可以移动到朝向过道的相邻座位。位于过道旁座位的乘客可以直接横向移动到过道上。
  • 过道上的乘客可以向后移动一排座位。如果乘客位于紧急出口前,即位于最后一排座位旁,他/她可以离开车厢。

移动的目标座位或过道位置必须是空的;要么在这一步之前那里没有其他乘客,要么那里的乘客在同一步中移动到了另一个位置从而腾出了空间。当两名或多名乘客满足同一位置的移动条件时,只有其中一人可以移动,其他人必须保持在原位等待。

图 C.1 的最左侧部分描绘了样例输入 1 中小型车辆的座位安排。该车有五排座位,过道两侧各有两个座位,总共二十个座位。图中还显示了七名乘客的初始位置。

图 C.1 的另外两幅图显示了第一步和第二步之后乘客可能的位置。乘客的移动用粗箭头表示。注意,前排的两名乘客在第一步中必须等待空位,第二排的一名乘客必须在下一步中等待。

你的任务是编写一个程序,根据座位安排和乘客的初始位置,计算所有乘客离开车厢所需的最少步数。

图 C.1. 简单模型

输入格式

输入包含单个测试用例,格式如下:

$r \ s \ p$ $i_1 \ j_1$ $\vdots$ $i_p \ j_p$

其中,$r$ 是乘客座位排数,$s$ 是过道每侧的座位数,$p$ 是乘客人数。它们是满足 $1 \le r \le 500$,$1 \le s \le 500$ 以及 $1 \le p \le 2rs$ 的整数。

接下来的 $p$ 行给出了乘客的初始座位位置。第 $k$ 行的 $i_k$ 和 $j_k$ 表示第 $k$ 名乘客的座位位于第 $i_k$ 排,且是该排的第 $j_k$ 个座位。这里,行和座位从前到后、从左到右计数,均从 1 开始。它们满足 $1 \le i_k \le r$ 和 $1 \le j_k \le 2s$。乘客位于不同的座位上,即对于 $k \neq l$,满足 $i_k \neq i_l$ 或 $j_k \neq j_l$。

输出格式

输出应为一行,包含一个整数,表示所有乘客离开车厢所需的最少步数。

样例

样例输入 1

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

样例输出 1

9

样例输入 2

500 500 16
1 1
1 2
1 999
1 1000
2 1
2 2
2 999
2 1000
3 1
3 2
3 999
3 1000
499 500
499 501
499 999
499 1000

样例输出 2

1008

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.