[問題] uva 10903 WA

看板Prob_Solve (計算數學 Problem Solving)作者 (landysh)時間6年前 (2018/11/05 00:00), 6年前編輯推噓2(315)
留言9則, 4人參與, 6年前最新討論串1/1
大家好, 我最近寫了uva的10903又再次不幸的獲得了WA, 和過往一樣丟了uDebug卻每個測資都過, 想請問是否有我沒注意到的細節? 題目:https://goo.gl/8qXoA1 翻譯大致如下: 剪刀石頭布是個 2 個人玩的遊戲,玩家各選剪刀、石頭、布其中之ㄧ,剪刀贏布,布贏 石頭,石頭贏剪刀,一樣就算平手。 現在總共有 n 個玩家,每個玩家要與其他人比賽 k 場,總共也就是 k*n*(n-1)/2 場比 賽,你的任務就是計算每個玩家的勝率,勝率的定義是 w/(w+l),w 是勝場數,l 是敗場 數。 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 代表玩家號碼,p1不會等於 p2),m1, m2各代表 p1, p2 出的拳 ("rock", "scissors",或 "paper")。 當 n=0 代表輸入結束。請參考Sample Input。 Output 輸出每個玩家的勝率(四捨五入到小數點下3位),1人1列,如果勝率無意義,輸出 "-" 。測試資料間請空一列。 我的code: https://pastebin.com/pKUx9PxL 想法就是依照不同玩家開array去存輸贏次數以及有比出輸贏的場次數 最後再依據這個來求出勝率 請教各位了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.240.160 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1541347244.A.93A.html

11/05 01:13, 6年前 , 1F
p1,p2 是 100的時候超出 index
11/05 01:13, 1F
喔喔 修正了 不過這點修正後還是WA ※ 編輯: landysh (27.247.10.132), 11/05/2018 06:56:18

11/05 13:25, 6年前 , 2F
測資裡面好像有 n = 1 的情況!
11/05 13:25, 2F

11/05 13:26, 6年前 , 3F
n = 1 時, p1,m1,p2,m2 好像不用讀 ??
11/05 13:26, 3F

11/05 17:30, 6年前 , 4F
你平手有放嗎?
11/05 17:30, 4F

11/05 17:33, 6年前 , 5F
按錯 補推
11/05 17:33, 5F

11/05 19:36, 6年前 , 6F
n=1的情況我想一下
11/05 19:36, 6F

11/05 19:36, 6年前 , 7F
題意就我理解勝率應該不用算平手吧
11/05 19:36, 7F

11/06 00:12, 6年前 , 8F
平手不用算沒錯。我也覺得問題應該像 cutekid 大說的,
11/06 00:12, 8F

11/06 00:12, 6年前 , 9F
n = 1 時沒有處理好。
11/06 00:12, 9F
真的 n=1的情況處理好之後就AC了 謝謝大家的幫忙 ※ 編輯: landysh (39.9.132.20), 11/06/2018 05:11:18
文章代碼(AID): #1RtnUiaw (Prob_Solve)
文章代碼(AID): #1RtnUiaw (Prob_Solve)