問題一覧 > 通常問題

No.399 動的な領主

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 315 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 193
作問者 : koyumeishi / テスター : btk
7 ProblemId : 1249 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2016-07-16 01:58:20

No.386 貪欲な領主 のアレンジバージョンです。

問題文

とある国に N 個の村があります。
村々は N1 本の街道で互いに結ばれており、自由に行き来することができます。

この国の領主は税収を増やすため、村々に関所を置き、ここを通る行商人に関税を課すことにしました。
行商人は村を通るたび、 +1 単位のお金を納めなければなりません。
需要が高ければ価格も高くなる、経済の常ですよね。

関税が施行されて以降、 Q 人の行商人がそれぞれ 村Ai から 村Bi へ、街道を通って最短経路で移動したことがわかっています。
国が得ることになる関税の合計金額を出力してください。

ただし行商人は途中立ち寄る村の関所にだけではなく、村Ai、村Biの関所にも関税を納めなければなりません。

入力

N
u1 v1

uN1 vN1
Q
A1 B1

AQ BQ

入力は全て整数で与えられます。
1行目には村の数N、続く N1 行に街道の結ぶ村の情報が与えられます。
i 番目の街道は 村ui と 村vi を結びます。
N+1 行目には行商人の数Qが与えられます。
以降 Q 行に、i番目の行商人の出発地点の村Ai と 最終到達地点の村Biが与えられます。

また、入力は以下の制約を満たします。
2N105
1ui,viN
uivi
1Q105
1Ai,BiN
AiBi

出力

関税の合計金額を1行に出力してください。 答えは32ビット整数に収まらないことがあるので注意して下さい。

サンプル

サンプル1
入力
6
1 2
2 3
2 4
1 5
5 6
3
1 2
3 4
4 6
出力
15

3人の行商人が順番に移動したと仮定すると(出力するのは合計なので実際に個々が払った額はどうでもいい)、
1人目は 村1 に 1単位、 村2 に 1単位 の関税を納めます。
2人目は 村3 に 1単位、 村2 に 2単位、 村4 に 1単位 の関税を納めます。 村2 はすでに行商人1 が通っているので、2単位の関税を納めなければなりません。
3人目は 村4 に 2単位、 村2 に 3単位、 村1 に 2単位、 村5 に 1単位、 村6 に 1単位 の関税を納めます。
合計すると 1+1+1+2+1+2+3+2+1+1 = 15 になります。

サンプル2
入力
5
1 2
2 3
3 4
4 5
5
1 5
1 5
1 5
1 5
1 5
出力
75

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。