Loading [MathJax]/jax/output/CommonHTML/jax.js

鉄道運賃(Train Fare)

JOI 国には N 個の都市があり,それぞれ 1,2,...,N の番号が付けられている.都市 1 はJOI 国の首都である.

また,JOI 国には鉄道会社がひとつだけあり,この会社は M 個の路線を運行している.これらの路線にはそれぞれ 1,2,...,M の番号が付けられており,i 番目 (1iM) の路線は都市 Ui と都市 Vi を双方向に結んでいる.都市と都市の間を鉄道以外で移動することはできない.また,どの都市からどの都市へもいくつかの路線を乗り継いで移動することができるようになっている.

現在,どの路線の運賃も 1 円である.経営不振に陥った鉄道会社は,今後 Q 年間かけていくつかの路線の運賃を値上げする計画を立てた.この計画では,計画開始から j 年目(1jQ) の年初めに路線 Rj の運賃を 1 円から 2 円に値上げする予定である.値上げされた路線の運賃は,その後ずっと2 円のままであり,再び値上げすることはない.

ところで,この鉄道会社では,毎年,各都市の住民の満足度調査を行っている.計画開始前は,どの都市の住民もこの鉄道会社に満足しているが,値上げによって不満を持つ住民が現れる可能性がある.

それぞれの年の満足度調査は,その年の値上げの実施後に行う.したがって, j 年目(1jQ) の満足度調査は,路線 R1,R2,...,Rj の運賃の値上げは完了し,それ以外の路線の運賃は値上げされていない状態で行われることになる. j 年目(1jQ) の満足度調査では,都市 k (2kN) の住民は,以下の条件が満たされるとき,そしてそのときに限り鉄道会社に不満を抱く.

ただし,いくつかの路線を使って移動するときの費用は,それぞれの路線の運賃の合計である.また,都市 1 の住民が鉄道会社に対して不満を抱くことはない.値上げ後の運賃で最小の費用を達成する経路は,計画開始前の運賃で最小の費用を達成する経路と異なる可能性があることに注意せよ.

計画の実行に先立って,今後 Q 年間の住民の満足度調査それぞれにおいて,鉄道会社に不満を抱く住民がいる都市の数を計算しておきたい.

課題

JOI 国の鉄道路線の情報と,運賃の値上げ計画が与えられたとき,それぞれの満足度調査において鉄道会社に不満を抱く住民がいる都市の数を求めるプログラムを作成せよ.

入力

標準入力から以下の入力を読み込め.

出力

標準出力に Q 行で出力せよ. j 行目(1jQ) には, j 年目の満足度調査で不満を抱く住民がいる都市の数を出力せよ.

制限

すべての入力データは以下の条件を満たす.

入出力例

入力例1

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

出力例1

0
2
2
4
4

この入力例では,計画開始前,及びそれぞれの満足度調査の時点でのそれぞれの都市から都市 1 への運賃は,以下の表のようになる.

時点都市2     都市3     都市4     都市5    
計画開始前     1 1 2 2
1 å¹´ç›®1 1 2 2
2 å¹´ç›®1 2 2 3
3 å¹´ç›®1 2 2 3
4 å¹´ç›®2 2 3 3
5 å¹´ç›®2 2 4 3

例えば,3 年目の満足度調査では,都市 3 と都市 5 の住民が不満を抱くので,出力の 3 行目には 2 を出力する.

入力例2

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

出力例2

1
1
2
2
3
3

入力例3

2 1 1
1 2
1

出力例3

1

クリエイティブ・コモンズ・ライセンス

第15回 日本情報オリンピック本選 課題   2016 å¹´ 2 月 14 æ—¥