QOJ.ac

QOJ

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

#2776. パイプ流の息子

Statistics

2 年前、あなたは故郷で国内初の Flubber 配管網の設置を手伝い、大成功を収めました。世論調査によると、誰もが台所に自分専用の Flubber 供給器があることを気に入っており、今度は進取の気性に富む市民たちがその用途を発見しました。なんと Flubber は水と混ぜると消火に役立つのです!最近は制御不能な火災が驚くほど多いため、実に時宜を得た発見です。

故郷の市議会はこの性質を利用し、中心部の施設で Flubber と水の混合物を作ろうとしています。Flubber Department(FD)と呼ばれるこの施設には、火災現場へ向かい、処理済みの Flubber で火勢を抑える訓練を受けた専門職員も配置されます。

配管はすでに街中に設置されています。配管の配置が与えられるので、Flubber 工場からの Flubber と地元の水源からの水を、配管を通して FD へどう流すか決めてください。

Flubber と水は同じ配管網を、場合によっては同じ管を流れます。すべての管は双方向ですが、同じ管で Flubber と水を逆向きに流すことはできません。また、両方を同じ管に同じ向きで流すと必ず混ざります。そのため、各節点には特殊な膜とフィルターがあり、流入するすべての混合物を自由に分離し再構成できます。配管網は閉じた系なので、各液体の供給源と目的地(FD)を除き、各節点でその液体の総流入量と総流出量が一致しなければなりません。

各管には容量があります。Flubber は流れにくく、粘度値が $v$ なので、水を毎秒 $v$ リットル運べる管は Flubber を毎秒 $1$ リットルしか運べません。両者の混合物に対する容量は線形に変化します。正確には、水に対する管の容量を $c$、管を流れる Flubber と水の流量をそれぞれ $f,w$ とすると(すべてリットル毎秒)、容量制約は $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$ 行は、それぞれ 1 本の管を表します。各行には接続する地点を表す 2 つの整数 $j,k$($1 \le j < k \le n$)と、水に対する容量をリットル毎秒で表す整数 $c$($1 \le c \le 10$)が含まれます。

同じ地点対を結ぶ管は複数存在しません。また、配管網は連結であることが保証されます。

出力

まず入力順に各管について、Flubber の流量と水の流量の 2 つを出力し、$F^a \cdot W^{1-a}$ を最大化してください。液体が $k$ から $j$ へ流れる場合は負の値とします。その後、最大値を絶対誤差 $10^{-4}$ 以内で出力してください。

解が複数あればどれでも受理されます。すべての制約(同じ管で両液体を逆向きに流さないこと、流量保存、管の容量、構成した解と申告した値の整合性)を、絶対誤差 $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.