QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 1024 MB Total points: 100

#2776. 管流之子

Statistics

兩年前,你幫手喺家鄉裝咗全國第一個 Flubber 管道網絡,結果非常成功。民意調查顯示,人人都鍾意廚房有自己嘅 Flubber 分配器,而家有幾位有開拓精神嘅市民發現咗佢嘅用途。原來 Flubber 溝水可以幫手滅火!呢個發現非常及時,因為最近失控火災竟然特別常見。

家鄉嘅市議會想利用 Flubber 呢個特性,喺中央位置嘅站點整 Flubber 同水嘅混合物。呢個站點叫做 Flubber Department(FD),仲會有受過專門訓練嘅員工,去火災現場用處理過嘅 Flubber 控制火勢。

全城已經鋪好管道。畀定管道嘅配置,你要決定點樣將 Flubber 工廠嘅 Flubber 同本地水源嘅水經管道送去 FD。

留意 Flubber 同水會流經同一個管道網絡,甚至可能流經同一條管道。所有管道都係雙向,但 Flubber 同水唔可以喺同一條管道向相反方向流。如果兩種液體沿同一方向流經同一條管道,佢哋一定會混合。所以網絡節點裝咗特別薄膜同過濾器,畀你按需要分離同重新組合所有流入嘅混合物。網絡係封閉系統,所以除咗某種液體嘅源頭同終點(FD),嗰種液體流入每個節點嘅總流率必須等於流出嘅總流率。

每條管道都有一定容量。Flubber 流得比較慢,黏度值係 $v$,所以每秒運到 $v$ 公升水嘅管道,每秒只可以運 $1$ 公升 Flubber。兩種液體混合時,管道容量按線性關係計。準確嚟講,如果 $c$ 係管道輸水容量,$f$ 同 $w$ 係通過管道嘅 Flubber 同水嘅流率(全部以公升/秒計),容量限制就係 $v \cdot f + w \le c$。

你最關心送到 FD 嘅混合比例。你想總液體量盡量多,但亦要有足夠嘅水——因為未稀釋嘅 Flubber 好易燃——同足夠嘅 Flubber——冇 Flubber 又點算係「Flubber Department」!你諗到一條公式量度最後混合物嘅「價值」:$F^a \cdot W^{1-a}$,當中 $F$ 係流入嘅 Flubber 流率,$W$ 係流入嘅水嘅流率,兩者單位都係公升/秒,而 $a$ 係畀定、介乎 $0$ 同 $1$ 之間嘅常數。

求出可以做到嘅 $F^a \cdot W^{1-a}$ 最大值,同埋點樣輸送 Flubber 同水先可以做到。

輸入格式

輸入第一行有地點數 $n$($3 \le n \le 200$)、管道數 $p$($n-1 \le p \le \frac12 n(n-1)$),以及實數 $v$($1 \le v \le 10$)同 $a$($0.01 \le a \le 0.99$)。地點由 $1$ 編號到 $n$;$1$ 係 Flubber 工廠,$2$ 係水源,$3$ 係 FD。實數小數點後最多有 $10$ 位。

之後 $p$ 行各自描述一條管道。每行有兩個整數 $j$ 同 $k$($1 \le j < k \le n$),表示管道連接嘅地點,仲有整數 $c$($1 \le c \le 10$),表示管道輸水容量,單位係公升/秒。

唔會有兩條管道連接同一對地點。另外,保證網絡連通。

輸出格式

首先,按輸入順序為每條管道輸出兩個值:通過佢嘅 Flubber 流率同水嘅流率(液體由 $k$ 流向 $j$ 就用負數),令 $F^a \cdot W^{1-a}$ 最大。跟住輸出呢個最大值,絕對誤差唔可以超過 $10^{-4}$。

如果有多個解,任何一個都接受。所有限制(Flubber 同水唔喺同一條管道反向流、流量守恆、管道容量,以及構造嘅解同聲稱價值一致)都一定要喺 $10^{-4}$ 嘅絕對誤差內滿足。

例子

輸入格式 1

6 6 3.0 0.66
2 4 8
4 6 1
3 6 1
4 5 5
1 5 7
3 5 3

輸出格式 1

0.000000000 1.360000000
0.000000000 1.000000000
0.000000000 -1.000000000
0.000000000 0.360000000
0.880000000 0.000000000
-0.880000000 -0.360000000
1.02037965897

輸入格式 2

5 5 1.0 0.5
1 2 10
2 3 10
3 4 10
4 5 10
3 5 10

輸出格式 2

5 0
5 5
4.2 3.14159
4.2 3.14159
-4.2 -3.14159
5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.