问题 5026 --取边方案

5026: 取边方案

题目描述

  给你一张有 $n$ 个点 $m$ 条边的无向连通图,每条边有边权,设 $disa_i$ 表示这张图中点 $i$ 到点 $1$ 的最短距离。
现在要求你在这张图中删去 $m-(n-1)$ 条边,使得这张图变成一棵树,设 $disb_i$ 表示这棵树中点 $i$ 到点 $1$ 的最短距离。
现在请你求出,有多少种删边方案,使得对于任意的 $i$,都有 $disa_i=disb_i$。

输入

第一行包含两个正整数数 $n,m$,表示无向连通图的点数和边数。
接下来有 $m$ 行,每行有 $3$ 个正整数 $u,v,w$,表示点 $u$ 和点 $v$ 之间有一条边权为 $w$ 的无向边。
数据保证无重边、无自环。

输出

输出一行一个整数,表示满足条件的方案数对 $2147483647$ 取模的结果。

样例输入输出

输入#1 复制
3 3
1 2 2
1 3 1
2 3 1
输出#1 复制
2

提示

【样例解释】
删去第 $1$ 条边或第 $3$ 条边都能满足条件,所以方案数为 $2$。

 【数据范围】
对于 $30\%$ 的数据: $1\leq n \leq 5$ , $1\leq m \leq 10 $;
对于 $50\%$ 的数据,满足条件的方案数不超过 $1000$;
对于 $100\%$ 的数据: $2\leq n \leq 1000$ , $n-1 \leq \dfrac{n \times (n-1)}{2}$ , $1 \leq w \leq 100$。

序号 标题 作者 发表时间 费用 订购数 操作