#P6413. [COCI2008-2009#3] NAJKRACI

[COCI2008-2009#3] NAJKRACI

题目描述

有一个含 nn 个点,mm 条边的有向图

对于每一条边,求出它被任意两点的最短路径经过的次数对 109+710^9+7 取模的值。

如果 A,BA, B 两点之间有多条最短路,每条最短路都要计算一遍。你可以参考样例 44 中第 3,43, 4 条边的输出来理解这句话。

输入格式

第一行两个整数 nnmm

接下来 mm 行,每行三个整数 xxyydd,即有一条 xxyy 的有向边,边权为 dd

输出格式

mm 行,每一行输出一个整数,第 ii 行的数表示在第 i+1i+1 行读入的边被任意两点的最短路径经过的次数对 109+710^9+7 取模的值。

4 3
1 2 5
2 3 5
3 4 5 

3
4
3 
4 4
1 2 5
2 3 5
3 4 5
1 4 8 

2
3
2
1 
5 8
1 2 20
1 3 2
2 3 2
4 2 3
4 2 3
3 4 5
4 3 5
5 4 20 

0
4
6
6
6
7
2
6 
4 4
1 2 1
2 3 1
1 3 2
3 4 1

3
4
2
4

提示

数据范围与约定

  • 对于 30%30\% 的数据,保证 n15n\le 15m30m\le 30
  • 对于 60%60\% 的数据,保证 n300n\le 300m103m\le 10^3
  • 对于 100%100\% 的数据,保证 1n1.5×1031\le n\le 1.5\times 10^31m5×1031\le m\le 5\times 10^3aba\neq b1a,bn1\le a,b\le n1d1041\le d\le 10^4

说明

本题译自 Croatian Open Competition in Informatics 2008/2009 Contest #3 T6 NAJKRACI。