1. 程式人生 > >1210 NOI 模擬賽

1210 NOI 模擬賽

問題 A: 迷路

題目描述

$update$ : 可能有重邊、有自環,邊權<=$1e9$,一元環,二元環都算環,oj上提交可能需要輸出行末空格(參見樣例輸出)

$dolls$ 意外得到了一張藏寶圖,於是他踏上了尋找寶藏的道路。在走了許多許多步,回到同一個位置以後,$dolls$ 確定自己迷路了。$dolls$ 十分生氣,他覺得自己這麼英明聖武的人就算迷路,也要迷路在最小的環上。於是他想知道從每個點出發最小的環有多長。

藏寶圖可以抽象成一個 $n$ 個點 $m$ 條邊的,邊權全為正的無向圖,現在你需要求得經過每個點的最小環長是多少。

輸入

第一行兩個數 $n$,$m$,表示點數和邊數。

下面 $m$ 行每行三個整數 $u$ , $v$ , $l$ 表示點 $u$ 和點 $v$ 之間有一條長度為 $l$ 的無向邊。

輸出

輸出 $n$ 個數,表示經過每個點的最小環長,若沒有則輸出 $-1$。

樣例輸入

樣例輸入1:
3 3
1 2 1
2 3 2
3 1 3
樣例輸入2:
7 9
1 2 10
1 3 8
2 3 7
1 4 2
4 5 3
5 6 3
6 1 3
2 5 8
6 7 10

樣例輸出

 

樣例輸出1:
6 6 6 
樣例輸出2:
11 23 25 11 11 11
-1

 

 

 

問題 B : 寶藏

題目描述

$dolls$ 終於找到了正確的路,來到了$n$ 個洞穴前,他得知其中一個有寶藏,$dolls$ 每天可以派 $k$ 個機器人去一些洞穴找寶藏,如果機器人所在洞穴裡有寶藏就有 $p$ 的概率找到寶藏,求找到寶藏的期望天數。

輸入

第1行一個正整數t表示資料組數。

對於每組資料三個數 $n$,$k$,$p$;

輸出

對於每組資料輸出一個整數表示期望天數 (答案對$1000000007$取模)。

樣例輸入

6
1 1 500000004
2 1 500000004 3 2 500000004 1 1 333333336 2 1 333333336 3 2 333333336

 

樣例輸出

2
500000007
777777786
3
500000009
866666677

 

資料範圍

$t≤1000$,$1≤k≤n≤500000000$

問題 C: [1210NOI模擬賽]蛋糕