[ACM ] (已解決) Q476: Points in Figures: Re …

看板C_and_CPP作者 (ninE)時間13年前 (2011/07/12 13:28), 編輯推噓0(0033)
留言33則, 3人參與, 最新討論串1/1
敝人再次挑戰一顆星的ACM 『看起來好像正確』的輸出結果,依然一再拿到WA… -------------------------------------------------------- 我的code: http://codepad.org/sv6e4BYk 我是用class來實現個別的長方形 class的成員只有其編號num 和 代表左上、右下的兩個point。 main函式中,用vector儲存不超過10個的長方形資料。 ---------------------------------------------------------- 目前測出來的output看起來似乎沒錯 不曉得錯的地方大概是在哪裡… 希望能指點迷津,謝謝! 另外這種小程式,用到class是否會有點多餘呢? 附上題目: http://www.csie.ntu.edu.tw/~b98902115/uva/homework/homework/q476.htm -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.41.126

07/12 13:47, , 1F
wa是什麼?我不太懂單字縮寫
07/12 13:47, 1F

07/12 14:21, , 2F
wrong answer
07/12 14:21, 2F

07/12 15:26, , 3F
Orz試了一個小時,我也覺得沒錯阿.條件判斷也檢查.
07/12 15:26, 3F

07/12 15:26, , 4F
~"~初階的題目就要考慮一堆細節?
07/12 15:26, 4F

07/12 16:02, , 5F
還好不超過十個...
07/12 16:02, 5F

07/12 16:05, , 6F
所以firejox發現問題?
07/12 16:05, 6F

07/12 16:07, , 7F
你的if有寫反了 左上右下...
07/12 16:07, 7F

07/12 16:08, , 8F
看錯= = ..
07/12 16:08, 8F

07/12 16:15, , 9F
有沒有可能是cin的問題...
07/12 16:15, 9F

07/12 16:33, , 10F
我查了google,cin可以連續使用>>.但是只針對空白當分隔
07/12 16:33, 10F

07/12 16:34, , 11F
原po檢查一下int變數的值有沒有跑掉吧!
07/12 16:34, 11F

07/12 16:52, , 12F
CRec(){}<--沒初始化
07/12 16:52, 12F

07/12 16:54, , 13F
27行也沒初始化
07/12 16:54, 13F
剛剛特地去改成有初始值了,依然是wrong answer 其實有馬上賦值,應該是不影響

07/12 17:00, , 14F
CRec(tempCnt,...,tempDble4)<--這是class,不是object
07/12 17:00, 14F
至於這邊,我不太懂你的意思… 這行code我是用來創建rectangle,使用class中的第二個constructor初始化member

07/12 17:16, , 15F
07/12 17:16, 15F

07/12 17:33, , 16F
CRec obj(tempCnt,...,tempDble4);pushback(obj);
07/12 17:33, 16F

07/12 17:34, , 17F
07/12 17:34, 17F

07/12 17:34, , 18F
事實上,看了firejox大的程式,可能你要把程式改成精簡
07/12 17:34, 18F

07/12 17:35, , 19F
才能找出理由吧!acm題目那麼難嗎?
07/12 17:35, 19F

07/12 17:37, , 20F
問題真的出在cin那行
07/12 17:37, 20F

07/12 17:39, , 21F
acm好歹也是屬於國際賽之一(大學生報名的說)
07/12 17:39, 21F

07/12 17:39, , 22F
我猜是因為被邏輯短路婊 所以有 bug XD
07/12 17:39, 22F

07/12 17:42, , 23F
或者是判斷10
07/12 17:42, 23F

07/12 17:43, , 24F
看來我比大學生還糟糕,收捨包袱離開了
07/12 17:43, 24F
感謝各路英雄好漢,最後我只有改一行code http://codepad.org/27A5sadl 單純把 tempCnt 的判斷拿掉就Accepted了 … ……… 也就是說 可以超過10個才是正確的!!

07/12 17:48, , 25F
while( (tempCnt!=10) && ((cin >> c) && (c != '*')) )
07/12 17:48, 25F

07/12 17:48, , 26F
firejox測測這個會錯嘛?
07/12 17:48, 26F
剛剛幫你測了 是wrong answer

07/12 17:50, , 27F
是的 我第二個網址就是以原PO的code改的
07/12 17:50, 27F

07/12 17:54, , 28F
~"~因為這個小bug,時間已經到6點...
07/12 17:54, 28F

07/12 17:56, , 29F
矩形的個數不會超過10個<--那這句是裝笑維
07/12 17:56, 29F
真的……!! 翻桌!!!

07/12 18:01, , 30F
他只說不超過--->可以相等XDD
07/12 18:01, 30F
但code的寫法,在 tempCnt!=10 做判斷之前,就已經創立10個rectangle了 所以原本就已經是 小於等於10 總之成功就好了,感謝各位

07/12 18:06, , 31F
但是根據你的寫法他沒辦法吃第11行的*喔~~
07/12 18:06, 31F
恍然大悟…原來是這樣子 ※ 編輯: ninEEE 來自: 122.118.41.126 (07/12 18:07)

07/12 18:08, , 32F
這樣就會影響之後讀的情況
07/12 18:08, 32F

07/12 19:52, , 33F
越來越不想當programmer了Orz
07/12 19:52, 33F
文章代碼(AID): #1E6zkLC8 (C_and_CPP)