AT_arc191_d.[ARC191D] Moving Pieces on Graph

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个包含 NN 个顶点和 MM 条边的简单连通无向图。顶点编号为 11 至 NN,边编号为 11 至 MM。边 ii 双向连接顶点 uiu_i 和顶点 viv_i。

初始时,棋子 A 位于顶点 SS,棋子 B 位于顶点 TT(SS 和 TT 由输入给出)。

你可以按任意顺序执行以下操作任意次:

  • 选择棋子 A 或棋子 B,将其移动到当前顶点通过边直接连接的另一个顶点。操作后,棋子 A 和 B 不能处于同一顶点。

你的目标是将棋子 A 移动到顶点 TT,同时将棋子 B 移动到顶点 SS。

请判断是否可以达成目标。若可以,输出所需的最小操作次数;否则输出 −1-1。

输入格式

输入通过标准输入给出,格式如下:

NN MM SS TT
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uMu_M vMv_M

输出格式

若无法达成目标,输出 −1-1;否则输出所需的最小操作次数。

输入输出样例

  • 输入#1

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

    输出#1

    3
  • 输入#2

    2 1 1 2
    1 2

    输出#2

    -1
  • 输入#3

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

    输出#3

    4

说明/提示

约束条件

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • N−1≤M≤min⁡(N(N−1)2,2×105)N-1 \leq M \leq \min\left(\dfrac{N(N-1)}{2}, 2 \times 10^5\right)
  • 1≤ui<vi≤N1 \leq u_i < v_i \leq N
  • 给定的图是简单且连通的
  • 1≤S,T≤N1 \leq S, T \leq N
  • S≠TS \neq T
  • 输入均为整数

样例解释 1

例如,通过以下操作可在 33 次操作内达成目标:

  1. 将棋子 A 移动到顶点 22(此时 A 在顶点 22,B 在顶点 44)。
  2. 将棋子 B 移动到顶点 33(此时 A 在顶点 22,B 在顶点 33)。
  3. 将棋子 A 移动到顶点 44(此时 A 在顶点 44,B 在顶点 33)。

由于无法在少于 33 次操作内完成目标,因此输出 33。

样例解释 2

无论以何种方式操作,均无法达成目标。

翻译由 DeepSeek R1 完成

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

首页