看板 Prob_Solve 關於我們 聯絡資訊
大家好, 我最近寫了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
cutekid: p1,p2 是 100的時候超出 index11/05 01:13
喔喔 修正了 不過這點修正後還是WA ※ 編輯: landysh (27.247.10.132), 11/05/2018 06:56:18
cutekid: 測資裡面好像有 n = 1 的情況!11/05 13:25
cutekid: n = 1 時, p1,m1,p2,m2 好像不用讀 ??11/05 13:26
bigload1234: 你平手有放嗎?11/05 17:30
bigload1234: 按錯 補推11/05 17:33
landysh: n=1的情況我想一下11/05 19:36
landysh: 題意就我理解勝率應該不用算平手吧11/05 19:36
stucode: 平手不用算沒錯。我也覺得問題應該像 cutekid 大說的,11/06 00:12
stucode: n = 1 時沒有處理好。11/06 00:12
真的 n=1的情況處理好之後就AC了 謝謝大家的幫忙 ※ 編輯: landysh (39.9.132.20), 11/06/2018 05:11:18