[問題] STL stack.top() 出現問題

看板C_and_CPP (C/C++)作者 (j129008)時間14年前 (2011/08/30 15:41), 編輯推噓0(0020)
留言20則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) none 問題(Question): 在32行的地方stk.top()在j=1時會當掉 餵入的資料(Input): 1 AOA 預期的正確結果(Expected Output): 5 錯誤結果(Wrong Output): 這個程式即將關閉謹此致歉 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/Z41FCcFB 補充說明(Supplement): 題目: 第一個輸入代表接下來會出現幾個字串 接著出現的字串要算出他有幾種可能的排列組合會出現回文的現象 並且不同種的排列方式即使字串相同也要算不同組合 ex:AAA AA_、_AA算不同的組合 所以輸出會是7 編譯可以過但是會當掉 用逐步執行發現stk.top()在跑第二次時就當掉了QQ 順帶一題字串的組合是參考firejox大大那優雅的code..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.224.196

08/30 16:01, , 1F
雖然我看不懂你的code,但是stk.size()為1,沒東西還要pop
08/30 16:01, 1F

08/30 16:01, , 2F
當然永遠都是記憶體區段錯誤.還有firejox躺著也中槍
08/30 16:01, 2F

08/30 16:11, , 3F
原來如此
08/30 16:11, 3F

08/30 16:14, , 4F
我比較想問1<<sln的由來?後來發現他是2的倍數呢.
08/30 16:14, 4F

08/30 16:15, , 5F
如果字串長4的話會有2^4-1種字串組合
08/30 16:15, 5F

08/30 16:33, , 6F
if (i&(1<<j))<--問題出在這邊,只是我也不知道怎麼改
08/30 16:33, 6F

08/30 16:48, , 7F
這邊出了什麼問題?
08/30 16:48, 7F

08/30 16:49, , 8F
阿 原來是這樣我懂了
08/30 16:49, 8F

08/30 16:56, , 9F
= =?懂了,就把改好的code po上來吧,我只是找出問題,卻不
08/30 16:56, 9F

08/30 16:56, , 10F
知道你這樣用,有辦法達到排列的效果嘛?
08/30 16:56, 10F

08/30 19:17, , 11F
AAA 是7?
08/30 19:17, 11F

08/30 19:21, , 12F
yes
08/30 19:21, 12F

08/30 19:22, , 13F
why?
08/30 19:22, 13F

08/30 19:28, , 14F
AOA 不是4呀....
08/30 19:28, 14F

08/30 19:42, , 15F
A,O,A,AA,AOA 不同組合方式算不同種
08/30 19:42, 15F

08/30 19:44, , 16F
第一個A跟第三個A不一樣 看題目給的輸出就知道
08/30 19:44, 16F

08/30 19:54, , 17F
這樣是5種 = =
08/30 19:54, 17F

08/30 19:55, , 18F
是阿
08/30 19:55, 18F

08/30 19:56, , 19F
你的內文是4 = =
08/30 19:56, 19F

08/30 19:56, , 20F
原來是我打錯 抱歉
08/30 19:56, 20F
※ 編輯: j129008 來自: 58.114.224.196 (08/30 19:57)
文章代碼(AID): #1EN9GuXO (C_and_CPP)
文章代碼(AID): #1EN9GuXO (C_and_CPP)