[問題] [ACM]112_Tree_Summing_WA

看板C_and_CPP (C/C++)作者 (Alfred)時間7年前 (2018/08/27 22:33), 7年前編輯推噓7(706)
留言13則, 4人參與, 7年前最新討論串1/1
問題(Question): http://luckycat.kshs.kh.edu.tw/homework/q112.htm 我的想法是把輸入值存入stack中並將現有總和加上輸入值 如果探訪到leaf就判斷現有和是否等於目標 若要往其他的分支走,就把回溯時經過的點pop掉並把現有總和減去pop的值 已經測過udebug上的測資並通過了,找不出有甚麼遺漏的地方 不好意思麻煩大家了 餵入的資料(Input): https://www.udebug.com/UVa/112其中的所有測資 預期的正確結果(Expected Output): 全對 錯誤結果(Wrong Output): 在UVA上WA 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://gist.github.com/BuddistCoding/a20998e409b3a8cde33865187619ae8f 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.127.107 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1535380435.A.2B5.html

08/28 14:43, 7年前 , 1F
(無關的抱怨)每次看到UVA題都覺得頭痛,那個input真的好
08/28 14:43, 1F

08/28 14:43, 7年前 , 2F
噁,感覺就是一個Project沒有做好API卻要你讀各種資料,
08/28 14:43, 2F

08/28 14:43, 7年前 , 3F
考的幾乎是parsing能力
08/28 14:43, 3F

08/28 14:52, 7年前 , 4F
AC了 ,就一般dfs,主要注意是到leaf的path總和
08/28 14:52, 4F

08/28 14:55, 7年前 , 5F
return testpath(leftSubtree...)||testpath(rightSubtree
08/28 14:55, 5F

08/28 14:55, 7年前 , 6F
...) 這樣寫會WA
08/28 14:55, 6F
可是我已經有把LEAF的判定寫進去了(左右BRANCH皆空的情況下), 判斷是LEAF時才會把現在經過PATH的總和跟目標值比對 CODE片段如下 if (nullNodeCount[topOfCount] == 2) //兩個空節點->此節點為leaf { if (presentVal == targetVal)//judge if the sum is equal to the target { accept = true; } } ※ 編輯: greatloser (122.118.127.107), 08/28/2018 16:03:45

08/28 16:27, 7年前 , 7F
那就不清楚了 我的邏輯跟你一樣 只是我是用遞迴
08/28 16:27, 7F

08/29 02:16, 7年前 , 8F
深度最多只到100嗎??你的code只能處理100以下
08/29 02:16, 8F
我當初是設定100沒錯,想說夠多了 我應該要設到1萬嗎? ※ 編輯: greatloser (122.118.129.102), 08/29/2018 12:01:59

08/29 12:06, 7年前 , 9F
設大一點看會不會AC
08/29 12:06, 9F
設到100萬了還是WA Q_Q ※ 編輯: greatloser (122.118.129.102), 08/29/2018 13:07:20

08/29 14:48, 7年前 , 10F
github 上的程式碼第 62 行改成 continue
08/29 14:48, 10F

08/29 15:26, 7年前 , 11F
或者把 cin.sync() 用 cin.ignore(1024,'\n') 取代
08/29 15:26, 11F

08/29 20:23, 7年前 , 12F
別想uva了 很爛 還是leetcode刷起來比較實在
08/29 20:23, 12F

08/29 20:24, 7年前 , 13F
寫 之前寫uva被他的input搞死 每種都不太一樣 浪費時
08/29 20:24, 13F
文章代碼(AID): #1RX0lJAr (C_and_CPP)
文章代碼(AID): #1RX0lJAr (C_and_CPP)