QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100
[+7]

# 5034. >.<

Statistics

题目描述

有一张 n 个点,m 条边的带权有向图(无重边、自环),再给定 k 条路径,求一条 1n 的最短路径(不要求是简单路径),使得这条路径不包含给定 k 条路径中的任何一条(包含指连续地经过某条路径)。输出此路径的长度,如果找不到输出 1

输入格式

第一行输入三个整数 n,m,k,表示图的点数、边数和钦定路径条数。 接下来 m 行,每行三个整数 ui,vi,wi 表示有一条从 uivi,边权为 wi 的有向边。 接下来 k 行,每行先输入一个整数 p,表示这条给定路径的长度,后面有 p 个整数,描述了这条给定的路径。

输出格式

输出一行一个整数表示从 1n 不经过给定路径的最短长度。如果不存在输出 1

样例一

input

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

output

8

样例二

input

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

output

7

子任务

以下的路径长度均指一条路径经过的点个数(重复点算多次)。

  • Subtask1(20 pts):n,m100,k=0
  • Subtask2(20 pts):n,m100,每条给定路径长度不超过 4
  • Subtask3(30 pts):n,m2×105,k=1
  • Subtask4(30 pts):n,m,k2×105

对于所有数据,有 1n,m2×105,0k2×105,1ui,vin,0wi109,路径长度总和小于等于 2×105