回分類題庫
d081: 2009 SIG Winter E - 我愛胖達,我想把他帶回家
出處:

Difficulity : 1
Accepted : 33 Times | Submit :146 Times | Clicks : 1927
Accepted : 29 Users | Submit : 29 Users | Accepted rate : 100%
Time Limit :10000 ms | Memory Limit : 64000 KBytes
題目加入時間 : 2009-02-20 09:05

Content :

大家都很喜歡胖達,都想要把他帶回家。從前,大家常常為了這件事鬧翻天,有時候還會大打出手,
不過後來眾人想出了一個絕妙的方法,這個方法是文明人才會的,就是「剪刀、石頭、布」。
每天下午五點,想要把胖達帶回家的眾人,就會聚集在大仁樓門口猜拳決定誰是今天的贏家。

胖達是一個很有好奇心又上進的小孩,他除了喜歡統計毛的數量之外,在觀察了這個猜拳大賽數次之後,
他發現大家每天都很隨意的進行數次猜拳之後決定誰可以把他帶回家,於是他決定寫一個程式,
來計算每次猜拳大賽各個玩家的勝率。

雖然是他決定要寫這個程式的,不過很可憐,剛好你要比賽,所以就給你寫了!

Input :

輸入含有多組測試資料,每組測試資料的第1列包含2個整數n和k(1<=n, k<=100),
n為玩家數、k為一個玩家與其他每一個玩家要猜拳的次數,
下面的k*n*(n-1)/2列,每一列代表一次猜拳,包含p1, m1, p2, m2,
1<=p1,p2<=n(p1, p2代表玩家代號,並且不會重複),m1, m2各代表p1, p2出的拳
("rock", "sciessors",或 "paper")。

當 n=0 代表輸入結束。請參考範例輸入

Output :

輸出每個玩家的勝率(四捨五入到小數點下3位),1人1列,如果勝率無意義,輸出 "-"。
測試資料間請空一列。

Sample Input :

2 4
1 rock 2 paper
1 scissors 2 paper
1 rock 2 rock
2 rock 1 scissors
3 1
1 rock 3 rock
2 paper 1 scissors
2 paper 3 paper
2 1
1 rock 2 paper
0

Sample Output :

0.333
0.667

1.000
0.000
-

0.000
1.000

Hint :


  

Author :


  Solve it!   Status Forum (0)

C++
C
JAVA
23601. henryokc (2 ms , 482KB)
7024. pcsh710742 (2 ms , 504KB)
45862. justin6 (4 ms , 256KB)
74912. vagrantlike (6 ms , 444KB)
54526. johnny (6 ms , 258KB)
54747. ag100 (2 ms , 272KB)
8164. erdfcv0521 (2 ms , 278KB)
5074. Tc (2 ms , 280KB)
2605. yuhanlyu (2 ms , 278KB)
87455. nccucs105703050 (4 ms , 262KB)
沒有解題記錄

執行時間會受很多因素影響因此僅供參考,主機等級請看這裡