AT_tkppc4_2_j ドライブ旅行

题目描述

在パ研王国有 $N$ 个城镇,$M$ 条道路连接着这些城镇。第 $i$ 条道路是从城镇 $A_i$ 到城镇 $B_i$ 的单向道路。此外,有 $P$ 个城镇各自拥有一个观景台,城镇 $C_i$ 的观景台建在海拔 $D_i$ 的位置。 ZRK 君计划去自驾游。他将从城镇 $S$ 的观景台出发,经过若干道路,最终在城镇 $T$ 的观景台结束自驾游。途中可以多次经过同一个城镇或道路。 每当 ZRK 君经过一个有观景台的城镇时,必定会停留。ZRK 君的“开心值”初始为 $0$,每当(除了出发时)停留在观景台 $i$ 时,他的开心值会增加与上一次停留的观景台 $j$ 的海拔差的绝对值 $|D_i - D_j|$。 他希望自驾游结束时的开心值至少为 $K$。请你求出满足条件的路线的最小长度。 这里,路线的长度定义为所有道路经过的总次数。例如,若路线为 $3 \to 5 \to 2 \to 4 \to 3 \to 5 \to 4$,则长度为 $6$。 如果不存在开心值至少为 $K$ 的路线,请输出 $-1$。

输入格式

输入以如下格式从标准输入读入。 > $N$ $M$ $P$ $S$ $T$ $K$ $A_1$ $B_1$ $A_2$ $B_2$ ... $A_M$ $B_M$ $C_1$ $D_1$ $C_2$ $D_2$ ... $C_P$ $D_P$

输出格式

请输出满足条件的路线的最小长度。 如果不存在这样的路线,请输出 $-1$。

说明/提示

### 限制条件 - 所有输入均为整数。 - $2 \leq N \leq 50$ - $1 \leq M \leq N(N-1)$ - $1 \leq P \leq N$ - $1 \leq S, T \leq N$ - $1 \leq K \leq 10^9$ - $1 \leq A_i, B_i \leq N$ $(1 \leq i \leq M)$ - $A_i \neq B_i$ $(1 \leq i \leq M)$ - $(A_i, B_i) \neq (A_j, B_j)$ $(i \neq j)$ - $1 \leq C_i \leq N$ $(1 \leq i \leq P)$ - $1 \leq D_i \leq 10^5$ $(1 \leq i \leq P)$ - $C_i \neq C_j$ $(i \neq j)$ - 存在 $i$ 使得 $C_i = S$,存在 $j$ 使得 $C_j = T$。 ### 子任务 本题有 $2$ 个子任务。 1. (300 分) 满足 $K \leq 20$。 2. (700 分) 无额外限制。 由 ChatGPT 4.1 翻译