P11986 [JOIST 2025] 救护车 / Ambulance

题目背景

由于评测机性能差距,本题增加 1 秒时限。

题目描述

IOI 王国被表示为一个 $L$ 行 $L$ 列的方形网格。行从上到下编号为 $1, 2, \dots, L$,列从左到右编号为 $1, 2, \dots, L$。 位于第 $i$ 行($1 \leq i \leq L$)和第 $j$ 列($1 \leq j \leq L$)的单元格记为 $(i, j)$。 由于近期疫情扩散,国王比太郎决定在网格的四个角落(单元格 $(1, 1)$、$(1, L)$、$(L, 1)$ 和 $(L, L)$)各建造一所医院,每所医院配备一辆救护车。救护车运输规则如下: - 救护车可在时间 $0$ 或之后开始移动。 - 救护车会重复以下步骤(可能 $0$ 次): - 从所属医院出发 $\to$ 移动到患者位置 $\to$ 接载患者 $\to$ 返回医院并放下患者。 - 每辆救护车一次**最多**运送 $1$ 名患者。 - 救护车只能将患者送回其初始所属医院,**不可在其他位置放下患者**。 - 救护车每次移动到四连通单元格(上下左右)耗时 $1$ 单位时间。接载和放下患者的耗时忽略。 - 不同医院的救护车可同时占据同一单元格。 已知第 $k$ 名患者位于 $(X_k, Y_k)$,判断是否所有患者都能在时间 $T$ 内被运送到任意医院。

输入格式

如下所示: > $L$ $N$ $T$\ > $X_1$ $Y_1$\ > $X_2$ $Y_2$\ > $\vdots$\ > $X_N$ $Y_N$

输出格式

若所有患者可在时间 $T$ 内被送医,输出 $\texttt{Yes}$; 否则输出 $\texttt{No}$。

说明/提示

### 样例解释 #### 样例 $1$ 解释 - 将第 $1$ 和第 $2$ 个病人送往位于 $(1, 1)$ 的医院; - 将第 $3$ 个病人送往位于 $(1, 6)$ 的医院; - 将第 $4$ 个病人送往位于 $(6, 6)$ 的医院。 这样,所有病人都可以在第 $8$ 个时间点被送往医院,因此输出 $\texttt{Yes}$。 例如,如果停靠在 $(1, 1)$ 医院的救护车按照以下顺序移动,它可以在第 $8$ 个时间点之前将第 $1$ 和第 $2$ 个病人都送到医院。 | 时间 | 救护车状态 | |:---:|------------------------------------------------| | $0$ | 从单元格 $(1, 1)$ 出发 | | $1$ | 到达单元格 $(2, 1)$ | | $2$ | 到达单元格 $(2, 2)$,接上第 2 个病人,出发 | | $3$ | 到达单元格 $(1, 2)$ | | $4$ | 到达单元格 $(1, 1)$,放下第 2 个病人,出发 | | $5$ | 到达单元格 $(1, 2)$ | | $6$ | 到达单元格 $(1, 3)$,接上第 1 个病人,出发 | | $7$ | 到达单元格 $(1, 2)$ | | $8$ | 到达单元格 $(1, 1)$,放下第 1 个病人 | 该样例满足子任务 $1\sim 4,6,7$ 的限制。 #### 样例 $2$ 解释 可以证明不可能做到,所以输出 $\texttt{No}$。 该样例满足所有子任务的限制。 #### 样例 $3$ 解释 该样例满足子任务 $1\sim 4,6,7$ 的限制。 #### 样例 $4$ 解释 该样例满足子任务 $4,6,7$ 的限制。 ### 数据范围 - $3 \leq L \leq 10\,000$; - $1 \leq N \leq 160$; - $1 \leq T \leq 20\,000$; - $1 \leq X_k, Y_k \leq L$; - $(X_k, Y_k)$ 不与 $(1, 1), (1, L), (L, 1), (L, L)$ 的任意一个相等; - 所有输入值为整数。 ### 子任务 | 子任务 | 分数 | 特殊性质 | |:--:| :-:| - | | $1$ | $4 $ | $T \leq 50$ | | $2$ | $8 $ | $T \leq 160$ | | $3$ | $5 $ | $N \leq 10$ | | $4$ | $18$ | $N \leq 20$ | | $5$ | $15$ | $N \leq 45$,$L$ 为奇数,且所有患者满足 $Y_k = \frac{L+1}{2}$ | | $6$ | $31$ | $N \leq 45$ | | $7$ | $19$ | / |