看板 C_and_CPP 關於我們 聯絡資訊
都沒有人發現我把這題和UVa 193搞混了。 下面的原文是找最大黑色點,可以忽略,看這篇就可以了。 會TLE的原因: 1.要另設一個變數X,當作每次提取qu的索引。 point是堆疊的指向。會不定的往後移動。 而X是每次迴圈都加1。 2.邊的陣列開不夠大。如果有200點那至少要開200 * 199 / 2的容量。 3.每次都循序搜尋所有邊太慢了。 改成n x n的二維bool陣列紀錄相連的點。 為了抱歉我搞錯題目,附上更改後可以AC的code http://codepad.org/lKCINwmX Bleed ※ 引述《linkone (小豆豆)》之銘言: : 題目網址:http://140.122.185.166/ZeroJudge/ShowProblem?problemid=p035 : CODE網址:http://codepad.org/o0MyTALj : 我想TLE可能是因為無窮迴圈的問題 會造成無窮迴圈就只有point : 的問題 但是我的CODE 是說如果已經走過了就不放進STAK裡 只有比較顏色 : 這樣應該不會造成POINT沒有降到0的情況出現 : 不曉得是哪邊造成TLE NODE裡的值如果是1的話就代表是黑色 0的話就是白色 : 我將輸入交換過 讓他變成有向圖 然後以第一個輸入的點作為起點 : 找他指向的節點 如果他指向的節點已經有顏色了(也就是不等於-1就)只有比較 : 不放進堆疊 如果兩個顏色一樣就直接結束 大致上是這樣... 麻煩各位嚕 : 可能會有點BUG但是主要是想先找出哪邊造成TLE 想先弄到是WA:的情況 因為這個要畫圖,所以我只好回文了。 如果我沒看錯的話,所有的邊都變成 小->大 那您怎麼知道點0是要塗黑色還是白色?(程式是塗黑色) 單雪花的情況0要塗白色。 所以給您3個圖: 單雪花 1 | 4-0-2 | 3 2 | 0-1-3 | 4 雙雪花 2 5 | | 3-- 0 ---- 1--6 | | 4 7 更多奇怪的圖可以自己生。 Bleed -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.119.139
linkone:http://codepad.org/2m79yO5o 這是我最開始寫的 無向圖 08/17 18:34
linkone:主要目前是想找出為什麼會TLE 08/17 18:35
※ 編輯: bleed1979 來自: 114.43.119.139 (08/17 20:50)
linkone:謝謝你嚕 我先吸收如何用二維陣列存點 08/18 09:28
linkone:此類的題目總是在想要如何判斷結束~.~想不出來只好全掃= = 08/18 09:31
linkone:感謝嚕 08/18 09:32