作者tony21177 ()
看板C_and_CPP
標題[問題] UVa 227-Puzzle
時間Wed Jan 14 23:54:49 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NA
問題(Question):UVa-227 Puzzle http://ppt.cc/G48h
餵入的資料(Input):UVa提供測資
預期的正確結果(Expected Output):AC
錯誤結果(Wrong Output):fail
程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/65jdmgeV
補充說明(Supplement):很抱歉又來打擾UVa上的題目,只是debug了很久,還是
找不出自己的盲點,我用題目的測資,嘗試一次只輸入一筆的話是OK的,但只要一次輸入2筆
以上就跑不出預期的結果,而是錯誤的;但是我的程式碼在不同測資的輸入應該有避免
上一筆資料殘留的情況,不知為什麼看起來還是會受到上一筆測資的影響....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.163.194.19
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1421250898.A.637.html
→ bibo9901: 你的v被每次的move_s蓋掉, 而且每筆測資也沒歸0 01/15 00:38
→ tony21177: 這就是我疑惑的地方了,我為了避免不同筆測資間的影響, 01/15 21:25
→ tony21177: 特地在while(1)迴圈裡一開始才宣告那些變數和陣列 01/15 21:25
→ tony21177: 這樣不同筆測資間還會互相影響? 01/15 21:26
推 LPH66: 你如果只宣告不初始化那就很有可能影響 01/15 22:08
→ LPH66: 一樓說的歸 0 就在指這件事 01/15 22:08
→ LPH66: 在迴圈裡宣告只有這個變數的生命週期每個迴圈重新開始而已 01/15 22:09
→ LPH66: 你沒餵它孟婆湯(歸 0)那它有前世記憶(舊值)也是很合理的(?) 01/15 22:10
→ tony21177: 我做了歸0後,發現還是有問題,在程式碼加註一些printf 01/15 22:13
→ tony21177: Debug發現第2筆開始測資輸入沒問題,但卻找不到空白字元 01/15 22:14
→ tony21177: 我找到原因了.因為每筆測資的換行字元也會讀取進s陣列. 01/15 22:42