CCA的期望
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

是否经常有艺术创作的冲动,但却限于水平无法描绘?那就交给随机吧!
给定一张 n 个点 m 条边的无向带边权连通图,点有颜色,为黑或白,保证无自环和重边。
定义一次操作为:随机选择两个不同的点,将它们之间的最短路上的点全部染黑(若有多条最短路就都染黑)。
现在你想知道,经过 k 次操作后,黑色点的期望个数是多少 。

输入描述:

第一行三个正整数 n , m , k,意义同题面。
第二行 n 个正整数 ,第 i 个数表示 i 好结点的初始颜色,0 为白色,1 为黑色。
接下来的 m 行,每行三个正整数 u , v , w,表示有一条连接 u , v 的长度为 w 的无向边 。

输出描述:

一行,一个正整数,表示被染黑的点数的期望对 1023694381 取模后的结果 。
示例1

输入

复制
3 2 1
0 0 0
1 2 1
2 3 2

输出

复制
682462923

备注:

n <= 500 , m <= n * (n - 1) / 2 , k,w <= 10^9 , u,v <= n