天天看點

POJ1013 稱硬币

題目連結:http://poj.org/problem?id=1013

題目大意

有12枚硬币。其中有11枚真币和1枚假币。假币和真币重量不同,但不知道假币比真币輕還是重。現在,用一架天平稱了這些币三次,告訴你稱的結果,請你找出假币并且确定假币是輕是重(資料保證一定能找出來)。

輸入

第一行是測試資料組數。

每組資料有三行,每行表示一次稱量的結果。銀币标号為A-L。每次稱量的結果用三個以空格隔開的字元串表示:天平左邊放置的硬币、天平右邊放置的硬币、平衡狀态。其中平衡狀态用``up'', ``down'', 或 ``even''表示, 分别為右端高、右端低和平衡。天平左右的硬币數總是相等的。

輸出

輸出哪一個标号的銀币是假币,并說明它比真币輕還是重 。

輸入樣例

1

ABCD EFGH even

ABCI EFJK up

ABIJ EFGH even

輸出樣例

K is the counterfeit coin and it is light.

解題思路

來源:北大郭炜老師

對于每一枚硬币先假設它是輕的,看這樣是否符合稱量結果。如果符合,問題即解決。如果不符合,就假設它是重的,看是否符合稱量結果。

把所有硬币都試一遍,一定能找到特殊硬币。