AT_abc417_e.[ABC417E] A Path in A Dictionary

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给你一个简单相连的无向图 GG ,有 NN 个顶点和 MM 条边。顶点编号从 11 到 NN,第 ii 条边连接点 UiU_i 和点 ViV_i。

在 GG 中,找出从顶点 XX 到顶点 YY 的字典序最小的简单路径。

也就是说,在满足以下条件的整数序列 P=(P1,P2,…,P∣P∣)P=(P_1,P_2,\ldots,P_{\lvert P\rvert}) 中,找出一条字典序最小的路径:

  • 1≤Pi≤N1\leq P_i\leq N
  • 若 i≠ji\neq j ,则 Pi≠PjP_i\neq P_j。
  • P1=XP_1=X 和 P∣P∣=YP_{\lvert P\rvert}=Y。
  • 对于 1≤i≤∣P∣−11\leq i\leq \lvert P\rvert-1 来说,存在一条连接顶点 PiP_i 和 Pi+1P_{i+1} 的边。

我们可以证明,在此问题的约束条件下,这样一条路径总是存在的。

给你 TT 个测试案例,请找出每个案例的答案。

::::info[整数序列的字典序]
如果下面的任意一个条件成立,则 SS 的字典序小于 TT(下面用 ∣S∣\lvert S \rvert 和 ∣T∣\lvert T \rvert 指代 SS 和 TT 的长度):

  1. ∣S∣<∣T∣\lvert S \rvert < \lvert T \rvert 且 (S1,S2,…,S∣S∣)=(T1,T2,…,T∣S∣)(S_1,S_2,\ldots,S_{\lvert S\rvert})=(T_1,T_2,\ldots,T_{\lvert S\rvert});
  2. 存在一些 1≤i≤min⁡(∣S∣,∣T∣)1\leq i\leq \min(\lvert S\rvert,\lvert T\rvert),使得 (S1,S2,…,Si−1)=(T1,T2,…,Ti−1)(S_1,S_2,\ldots,S_{i-1})=(T_1,T_2,\ldots,T_{i-1}) 且 Si<TiS_i<T_i。
    ::::

输入格式

输入从标准输入流按照下列格式给出:

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
⋮\vdots
caseT\mathrm{case}_T

其中 casei\mathrm{case}_i 代表第 ii 个测试数据,每个测试数据的格式如下:

N M X YN\ M\ X\ Y
U1 V1U_1\ V_1
U2 V2U_2\ V_2
⋮\vdots
UM VMU_M\ V_M

输出格式

输出 TT 行。第 ii 行为从 XX 到 YY 的字典序最小的简单路径,即第 ii 个测试数据的答案。

也就是说,如果第 ii 个测试数据的答案是 P=(P1,P2,…,P∣P∣)P=(P_1,P_2,\ldots,P_{\lvert P\rvert}) 时,在第 ii 行一次输出 P1P_1, P2P_2, …\ldots, P∣P∣P_{\lvert P\rvert},中间用空格隔开。

输入输出样例

  • 输入#1

    2
    6 10 3 5
    1 2
    1 3
    1 5
    1 6
    2 4
    2 5
    2 6
    3 4
    3 5
    5 6
    3 2 3 2
    1 3
    2 3

    输出#1

    3 1 2 5
    3 2

说明/提示

数据范围

  • 1≤T≤5001\leq T\leq 500
  • 2≤N≤10002\leq N\leq 1000
  • N−1≤M≤min⁡(N(N−1)2,5×104)N-1\leq M\leq \min\left( \frac{N(N-1)}{2},5\times 10^4\right)
  • 1≤X,Y≤N1\leq X,Y \leq N
  • X≠YX\neq Y
  • 1≤Ui<Vi≤N1 \leq U_i < V_i \leq N
  • 若 i≠ji\neq j, 则 (Ui,Vi)≠(Uj,Vj)(U_i,V_i)\neq (U_j,V_j).
  • 保证给定图联通
  • 每个输入中所有测试数据的 NN 之和不超过 10001000.
  • 每个输入中所有测试数据的 MM 之和不超过 5×1045\times 10^4.
  • 所有输入均为整数.

样例解释

对于第一个测试数据,图 GG 如下:

在 GG 上,从点 33 到点 55 的简单路径按照字典序排列如下:

  • (3,1,2,5)(3,1,2,5)
  • (3,1,2,6,5)(3,1,2,6,5)
  • (3,1,5)(3,1,5)
  • (3,1,6,2,5)(3,1,6,2,5)
  • (3,1,6,5)(3,1,6,5)
  • (3,4,2,1,5)(3,4,2,1,5)
  • (3,4,2,1,6,5)(3,4,2,1,6,5)
  • (3,4,2,5)(3,4,2,5)
  • (3,4,2,6,1,5)(3,4,2,6,1,5)
  • (3,4,2,6,5)(3,4,2,6,5)
  • (3,5)(3,5)

其中字典序最小的是 (3,1,2,5)(3,1,2,5),因此在第一行输出用空格分隔的 3,1,2,53,1,2,5。

对于第二个测试数据,(3,2)(3,2) 是唯一一条从点 33 到点 22 的简单路径。

输入解题思路,AI测评打分。不知道怎么写?

首页