[翻譯][UVa][537] Artificial Intelligence?

高中物理老師通常認為問題當中的文字敘述比純計算還要難,畢竟,身為學生必須得先讀懂題目才行!

所以老師們不會把題目寫成這樣:「電壓為 10 伏特、電流 5 安培、求電功率?」 ($U=10V$, $I=5A$, $P=?$) 而是喜歡把題目弄這樣:「你有一組電路,電路裡包含了一顆 10 伏特的電池和一枚燈泡,若現在有一 5 安培的電流通過此燈泡,那麼燈泡的電功率為何?」 (You have an electrical circuit that contains a battery with a voltage of $U=10V$ and a light-bulb. There’s an electrical current of $I=5A$ through the bulb. Which power is generated in the bulb?)

然而,半數的學生不會去鳥題目到底寫了什麼,只會設法從題目中找出已知條件:電壓 10 伏特、電流 5 安培,然後思考:「我該用什麼公式?噢,對了!$P = I\times{V}$,因此我可以得到電功率為 $10 \times{5} = 500$ 瓦特,完成。」

沒錯,但這個方法並不是每次都有用,所以這些學生在物理考試都考不高,但至少可以寫一個間單的程式來讓班上的人通過考試。 (雖然很遺憾但這是事實)

現今我們將測試電腦是否可以通過高中物理考試,我們先解決電功率–電壓–電流類型 (P-U-I type) 的題目。這意味著給你兩個已知的條件,然後求出第三項的值。

你的工作就是寫一支程式讀入一段題目,然後用簡單的演算法解出答案。

輸入

輸入的第一行為一個正整數,代表有多少行測資。

接著每行測資包含兩個已知條件和一些額外的文字,已知條件的格式為 $I=xA$$U=xV$$P=xW$ ($x$ 為實數)。

而在單位 ($A$$V$$W$) 前面會有一個數量級單位:m (milli,千分之一,$10^{-3}$ 倍)、k (kilo,千,$10^3$ 倍) 和 M (Mega,百萬,$10^6$ 倍)。而已知條件 (data field) 會依下面規則出現:

1
2
3
4
DataField ::= Concept '=' RealNumber [Prefix] Unit
Concept ::= 'P' | 'U' | 'I'
Prefix ::= 'm' | 'k' | 'M'
Unit ::= 'W' | 'V' | 'A'

額外補充:

  • 等號 (=) 不會出現在已知條件以外的地方。
  • 已知條件內不會出現空白字元。
  • 測資只會給三個已知條件中的任意兩個。

輸出

對於每行測資,請輸出三行:

第一行輸出「Problem #k」,k 代表第 k 個測資。

第二行輸出答案 (依據他所給的條件,請輸出電壓、電功率或電流),並將數量級轉換為基本單位及輸出至小數點後兩位。

最後一行請空一行。

範例輸入

1
2
3
4
3
If the voltage is U=200V and the current is I=4.5A, which power is generated?
A light-bulb yields P=100W and the voltage is U=220V. Compute the current, please.
bla bla bla lightning strike I=2A bla bla bla P=2.5MW bla bla voltage?

範例輸出

1
2
3
4
5
6
7
8
Problem #1
P=900.00W
Problem #2
I=0.45A
Problem #3
U=1250000.00V
,