QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 256 MB Points totaux : 100

#11446. 高山峡谷

Statistiques

在一个高山峡谷中,有 $N$ 个村庄(编号为 $1 \dots N$),它们之间由 $N-1$ 条道路连接。虽然从任意一个村庄出发都能到达其他任何村庄,但这可能需要花费相当长的时间。如果你需要购买基本生活物资,这会变得特别麻烦,因为 $N$ 个村庄中只有 $S$ 个村庄有商店。

今年冬天,由于大雪,情况变得更加糟糕。因此,建议要么离开峡谷,即到达连接峡谷与外界的山口所在的唯一村庄 $E$,要么至少购买未来几个月所需的充足物资。今天早上你从广播中得知,大雪导致 $N-1$ 条道路中的某一条无法通行——然而,你无法清楚地听出是哪一条。

你现在想知道你和你的朋友们是否还能离开峡谷,如果不能,你们每个人至少需要行驶多远才能到达一个有商店的村庄。由于你还不确定哪条道路被封锁,且你的朋友们住在峡谷各处的不同村庄,你需要编写一个程序,针对给定的 $Q$ 组“村庄与被封锁道路”的组合来回答这个问题。

输入格式

第一行包含整数 $N, S, Q$ 和 $E$,其中 $N$ 是村庄数量,$S$ ($1 \le S \le N$) 是商店数量,$Q$ 是询问次数,$E$ ($1 \le E \le N$) 是你为了离开峡谷必须到达的村庄。

接下来的 $N-1$ 行,每行包含三个整数 $A, B$ 和 $W$。这意味着有一条长度为 $W$ ($1 \le W \le 10^9$) 的道路连接村庄 $A$ 和 $B$ ($1 \le A \le N, 1 \le B \le N$)。

随后有 $S$ 行,每行包含一个整数 $C$,表示村庄 $C$ ($1 \le C \le N$) 有一家商店。注意,这些行中的所有村庄编号各不相同,即一个村庄内不会有多于一家商店。

最后有 $Q$ 行,每行包含两个整数 $I$ 和 $R$,表示输入中第 $I$ 条道路(按输入顺序编号,$1 \le I < N$)不再可用,你想知道住在村庄 $R$ ($1 \le R \le N$) 的朋友是否还能离开峡谷;如果不能,距离最近的有商店的村庄有多远。

输出格式

输出应包含 $Q$ 行。第 $i$ 行应包含对输入中第 $i$ 个询问的回答。更准确地说,如果能够离开峡谷,该行应包含字符串 “escaped”(不含引号);如果不能,则应包含到最近的有商店的村庄的距离,或者如果已经无法到达任何商店,则输出字符串 “oo”。

右图描绘了道路变得不可用之前的情况。有商店的村庄以灰色阴影显示。道路标注为“索引 / 长度”。离开峡谷的出口位于村庄 1。

样例

样例输入 1

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

样例输出 1

escaped
3
oo

样例输入 2

10 2 5 4
7 2 3
4 8 3
9 10 1
6 7 3
9 2 3
10 1 2
8 2 2
5 2 1
3 8 2
8
7
2 1
1 5
8 4
6 2
7 7

样例输出 2

8
escaped
escaped
escaped
0

子任务

测试组满足以下条件:

  1. (9 分) $1 \le N \le 100, 1 \le Q \le 10\,000$,且当且仅当 $|A - B| = 1$ 时,村庄 $A$ 和 $B$ 之间有道路。
  2. (27 分) $1 \le N \le 1\,000, 1 \le Q \le 1\,000$。
  3. (23 分) $1 \le N \le 100\,000, 1 \le Q \le 100\,000$,且 $S = N$。
  4. (41 分) $1 \le N \le 100\,000, 1 \le Q \le 100\,000$。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.