#P17481. 平衡路线

    ID: 19994 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>图论广度优先搜索 BFS最短路二分图分类讨论

平衡路线

题目描述

给定一张有 nn 个顶点、mm 条边的无向图,每条边带有符号 '+' 或 '-'。对于一条从顶点 ss 到顶点 tt 的路线,允许重复经过顶点和边。定义一条路线的权值如下:记 n+,n−n^+,n^- 分别为经过的 '+' 边数和经过的 '-' 边数,则该路线的权值为 ∣n+−n−∣|n^+-n^-|。

请计算从 ss 到 tt 的路线的最小权值。若不存在从 ss 到 tt 的路线,则输出 −1。

输入格式

输入第一行为四个整数 n,m,s,tn,m,s,t。接下来 mm 行,每行给出两个整数 a,ba,b 和一个字符 '+' 或 '-',描述一条连接 aa 与 bb 的无向边及其符号。

输出格式

输出一个整数,表示从 ss 到 tt 的路线的最小权值。若不存在从 ss 到 tt 的路线,则输出 −1-1。

5 4 1 3
1 2 +
2 3 +
2 4 +
4 5 -
0
3 2 1 2
1 2 +
2 3 -
1

提示

数据满足 2≤n≤2×1052\le n\le2\times10^5,1≤m≤4×1051\le m\le4\times10^5,1≤s,t≤n1\le s,t\le n 且 s≠ts\ne t,1≤a,b≤n1\le a,b\le n,可能出现重边。