UOJ Logo

NOI.AC

1S 512MB

#1352. 黑暗城堡

Statistics

题目描述

你知道黑暗城堡有 $N$ 个房间,$M$ 条可以制造的双向通道,以及每条通道的长度。 城堡是树形的并且满足下面的条件: 设 $D_i$ 为如果所有的通道都被修建,第 $i$ 号房间与第 $1$ 号房间的最短路径长度; 而 $S_i$ 为实际修建的树形城堡中第 $i$ 号房间与第 $1$ 号房间的路径长度; 要求对于所有整数 $i$ ($1\le i\le N$),有 $S_i= D_i$ 成立。 你想知道有多少种不同的城堡修建方案。当然,你只需要输出答案对 $2^{31} -1$ 取模之后的结果就行了。

输入格式

第一行为两个由空格隔开的整数 $N, M$; 第二行到第 $M+1$ 行为 $3$ 个由空格隔开的整数 $x, y, l$:表示 $x$ 号房间与 $y$ 号房间之间的通道长度为 $l$。

输出格式

一个整数:不同的城堡修建方案数对 $2^{31} -1$ 取模之后的结果。

样例

样例输入

样例输入

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

样例输出

样例输出

6

样例说明

样例说明

一共有 $4$ 个房间,$6$ 条道路,其中 $1$ 号和 $2$ 号,$1$ 号和 $3$ 号,$1$ 号和 $4$ 号,$2$ 号和 $3$ 号,$2$ 号和 $4$ 号,$3$ 号和 $4$ 号房间之间的通道长度分别为 $1$,$2$,$3$,$1$,$2$,$1$。 而不同的城堡修建方案数对 $2^{31} -1$ 取模之后的结果为 $6$。

数据范围与提示

对于全部数据,$1\le N\le 1000$,$1\le M\le \frac{N(N-1)}{2}$,$1\le l\le 200$。