看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) No 問題(Question): http://zerojudge.tw/ShowProblem?problemid=b304 餵入的資料(Input): 一串含有括號的字串 預期的正確結果(Expected Output): 正確AC 錯誤結果(Wrong Output): WA 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/NNMybgKb 補充說明(Supplement): 我的想法是,遇到左小括號或左中括號,就無條件推進stack 遇到右小括號或右中括號,就去看看stack頂端是否為匹配的括號 如果是就做pop,不是就push(其實不是的話應該可以直接輸出錯誤) 最後我看看stack是否為空來決定該輸入是否為合法的括號串 丟執行的時候給我回復WA,因為沒有測資 希望各位能幫我看看,我陷入什麼邏輯錯誤 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.60.210 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1470281497.A.34A.html
LPH66: cin >> data 的讀取會跳過空行 08/04 11:56
LPH66: 你可以使用 cin.getline() 08/04 11:56
hth9494: 使用getline之後,他在測試執行的地方報錯 08/04 12:44
hth9494: 他說line2的地方,正確答案是No,我的答案輸出Yes 08/04 12:44
hth9494: line2的測試資料是(([()]))) 08/04 12:45
hth9494: 但是我在自己電腦上,執行出的結果是No沒錯 08/04 12:46
hth9494: 不曉得他為什麼說我輸出Yes 08/04 12:46
hth9494: 這是改過的程式碼 http://codepad.org/7c2F0HUx 08/04 12:47
hth9494: 更改的地方有新增註釋,希望能再幫我看看,謝謝 08/04 12:47
s25g5d4: 有 std::getline 可以放 string, 不要用 cin.getline() 08/04 13:01
s25g5d4: 我拿你改過的程式碼送出去 AC 了阿 08/04 13:06
hth9494: 是的,我剛剛也發現了,只是不知道為何測試會錯,哈哈 08/04 13:30
hth9494: 我改成std::getline()後也能正確AC 感謝兩位大大 08/04 13:31