奶牛接力
测试数据来自 system/2100
时间限制:1秒 内存限制:256M
【题目描述】
FJ的 \(N\) 头奶牛选择了接力跑作为她们的日常锻炼项目。至于进行接力跑的地点,自然是在牧场中现有的 \(T\) 条跑道上。
农场上的跑道有一些交汇点,每条跑道都连结了两个不同的交汇点 \(a\) 和 \(b\)。每个交汇点都是至少两条跑道的端点。奶牛们知道每条跑道的长度 \(c\),以及每条跑道连结的交汇点的编号。并且,没有哪两个交汇点由两条不同的跑道直接相连。你可以认为这些交汇点和跑道构成了一张图。
为了完成一场接力跑,所有 \(N\) 头奶牛在跑步开始之前都要站在某个交汇点上(有些交汇点上可能站着不只 1 头奶牛)。当然,她们的站位要保证她们能够将接力棒顺次传递,并且最后持棒的奶牛要停在预设的终点。
你的任务是,写一个程序,计算在接力跑的起点 \(S\) 和终点 \(E\) 确定的情况下,奶牛们跑步路径可能的最小总长度。显然,这条路径必须恰好经过 \(N\) 条跑道。
【输入格式】
第 \(1\) 行:四个用空格隔开的整数:\(N,T,S\)以及\(E\)。
第 \(2..T+1\) 行:第 \(i+1\) 为三个以空格隔开的整数:\(c,a,b\),描述了第 \(i\) 条跑道。
【输出格式】
输出以个正整数,表示起点为 \(S\)、终点为 \(E\),并且恰好经过 \(N\) 条跑道的路径的最小长度。
【输入输出样例】
Input
2 6 6 4
11 4 6
4 4 8
8 4 9
6 6 8
2 6 9
3 8 9
Output
10
【数据限制】
对于 \(100\%\) 的数据,\(1≤N≤1000000\),\(1≤T≤100\),\(1≤a,b≤1000\),\(1≤c≤1000\)
【来源】
Mr.he