#H. TooY0ung的走格子游戏

    传统题 1000ms 256MiB

TooY0ung的走格子游戏

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

TooY0ungTooY0ung 在玩一种不是很新的走格子游戏。

题目描述

棋盘上有从 11 开始编号的 nn 个格子,nn 个格子由 mm 条边相连形成无向图,初始还有不超过 33 个棋子在不同的格子内。

TooY0ungTooY0ung 会对棋子进行多个回合的移动,当任意一个棋子到达终点 ee 时,游戏通关。

TooY0ungTooY0ung 可以进行两种操作:

A、挑选一个棋子,将其移动到“相邻”的格子中;

B、挑选两个“相邻”的棋子,那么交换这两个棋子的位置。

请注意:

1、当两个格子之间存在一条边时,我们称两个格子“相邻”;

2、当两个棋子所处的格子“相邻”,我们称两个棋子“相邻”;

3、任何情况下,一个格子内都不允许出现两个或以上的棋子;

4、若棋盘中只有一个棋子,则不能进行操作BB

5、每个回合内,TooY0ungTooY0ung 可以进行任意次数的B操作,但对每一个棋子只能进行至多一次的 AA 操作(也可以不进行)。

TooY0ungTooY0ung 不想走格子,TooY0ungTooY0ung 只想知道最少几个回合游戏可以通关。

请帮助 TooY0ungTooY0ung 编写一个程序,计算出通关游戏的最少回合数,若没有任何一个棋子可以到达终点则输出 1-1

输入格式

11 行:33 个由空格分开的正整数 n,m,tn,m,t,其中 nn 表示格子数量,mm 表示无向边的数量,tt 表示棋子的数量;

接下来的 mm 行:每行有 22 个由空格分开的正整数 ai,bia_i,b_i,表示编号为 aia_i 的格子与编号为 bib_i 的格子之间有一条无向边;

m+2m+2 行:tt 个由空格分开的正整数 sis_i,表示每个棋子初始所在的格子编号;

m+3m+3 行:11 个正整数 ee,表示终点格子的编号。

输出格式

11 行:一个正整数,表示通关游戏的最少回合数,若没有任何一个棋子可以到达终点则输出 1-1

10 5 3
1 2
5 2
6 5
4 5
3 2
3 1 4
6
1
10 0 2
1 3
6
-1
10 7 3
7 6
1 6
6 5
2 5
2 6
3 2
4 5
3 1 4
7
2

提示

【样例解释1】

在样例 11 中,一回合即可通关游戏:

对位于 33 格子的棋子 bb 进行 AA 操作,将其移动至 22 格子

对位于 44 格子的棋子 cc 进行 AA 操作,将其移动至 55 格子

对位于 11 格子与 22 格子的棋子 aba、b 进行 BB 操作,调换其位置

对位于 22 格子与 55 格子的棋子 aca、c 进行 BB 操作,调换其位置

对位于 55 格子的棋子 aa 进行 AA 操作,将其移动至 66 格子

数据规模与约定

对于 100%100\% 的数据,1t31 \le t \le 3tai,bi,si,en105t \le a_i, b_i, s_i, e \le n \le 10^50m21050 \le m \le 2*10^5

数据保证不会出现自环、重复边;

数据保证不会有棋子出现在同一初始位置,不会有棋子初始出现在终点格子。

新春马拉松赛(挖土机周赛 Round 40)

未参加
状态
已结束
规则
乐多
题目
8
开始于
2025-1-29 0:00
结束于
2025-2-8 0:00
持续时间
240 小时
主持人
参赛人数
129