#P8124. [BalticOI 2021] From Hacks to Snitches (Day1)

    ID: 16222 远端评测题 4000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2021BalticOI(波罗的海)

[BalticOI 2021] From Hacks to Snitches (Day1)

题目描述

给定一个 NN 个点 MM 条边的无向图,有 KK 个守卫第 ii 个守卫会经过 ℓi\ell_i 个节点,这 ℓi\ell_i 个节点分别为 v1,v2,⋯ ,vℓiv_1,v_2,\cdots,v_{\ell_i},运行机制为守卫刚开始位于第 v1v_1 个节点,设其为第 00 分钟,11 分钟时从第 v1v_1 个节点走到第 v2v_2 个节点,22 分钟时从第 v2v_2 个节点走到第 v3v_3 个节点,……,ℓi−1\ell_i-1 分钟时从第 vℓi−1v_{\ell_i-1} 个节点走到第 vℓiv_{\ell_i} 个节点,ℓi\ell_i 分钟时从第 vℓiv_{\ell_i} 个节点走到第 v1v_1 个节点,以此类推,无限循环。

您是一个小偷,您要从第 11 个节点到达第 NN 个节点,即 00 分钟时您位于 11 号节点,您可以一个节点直接到另一个节点,但是要经过这两个节点之间的路径,您要保证这条路径上没有一个节点上有守卫,且守卫也不经过这些组成路径的边。您经过每一条边的时间都是一分钟。保证任意两个守卫的路径不相交,并且起点和终点均不在任意守卫的路径上。

您想知道不被守卫发现的情况下需要最短多少分钟或者提出无解。

输入格式

第一行两个整数 N,MN,M 代表点数和边数。

接下来 MM 行每行两个整数 u,vu,v 代表一条边。

第 M+2M+2 行一个整数 KK 代表守卫个数。

接下来 KK 行首先一个整数 ℓi\ell_i 代表守卫的路径长度,接下来 ℓi\ell_i 个整数 v1,v2,⋯ ,vℓiv_1,v_2,\cdots,v_{\ell_i} 描述路径。

输出格式

一行一个整数代表最少需要多少分钟或者无解时输出 impossible。

6 6
1 2
2 3
3 4
4 5
5 2
5 6
1
4 3 2 5 4
4
6 6
1 2
2 3
3 4
4 5
5 2
5 6
1
4 4 5 2 3
5
11 13
1 2
2 3
3 4
4 2
3 5
5 6
6 7
7 5
6 8
8 9
9 10
10 8
9 11
3
3 4 2 3
3 7 6 5
3 10 8 9
impossible

提示

样例 1 解释

第 11 个守卫的路径如下:

一种可行方式是:

  • 00 分钟时,开始在节点 11;
  • 11 分钟时,在节点 11 等待;
  • 22 分钟时,移动到节点 22;
  • 33 分钟时,移动到节点 55;
  • 44 分钟时,移动到节点 66。

样例 2 解释

图和路径与样例 1 一样,只是起点和终点不同。

一种可行方式是,没有等待,直接按照 1→2→3→4→5→61 \to 2 \to 3 \to 4 \to 5 \to 6 走。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(5 pts):N,M≤105N,M \le 10^5,K=1K=1,ℓ1≤125 ℓ_1 \le 125。
  • Subtask 2(10 pts):N,M≤105N,M \le 10^5,∑ℓi≤125\sum ℓ_i \le 125,满足性质 A。
  • Subtask 3(10 pts):ℓi≤200 ℓ_i \le 200,∑ℓi≤350\sum ℓ_i \le 350,满足性质 A。
  • Subtask 4(10 pts):满足性质 A。
  • Subtask 5(25 pts):∑ℓi≤125\sum ℓ_i \le 125。
  • Subtask 6(20 pts):ℓi≤200 ℓ_i \le 200,∑ℓi≤350\sum ℓ_i \le 350。
  • Subtask 7(20 pts):无特殊限制。
  • Subtask Ex(0 pts):Extra Subtask。

对于 100%100\% 的数据,1≤N≤2.5×1051 \le N \le 2.5 \times 10^5,1≤M≤3×1061 \le M \le 3 \times 10^6,3≤ℓi≤15003 \le ℓ_i \le 1500,∑ℓi≤2750\sum ℓ_i \le 2750。

性质 A 为没有一条边连接任意两个守卫的路径。

说明

翻译自 BalticOI 2021 Day1 C From Hacks to Snitches。