作者bleed1979 (十三)
看板C_and_CPP
標題Re: [問題] UVA Bicoloring 錯誤訊息 TLE
時間Tue Aug 17 18:27:40 2010
都沒有人發現我把這題和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:主要目前是想找出為什麼會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