#17243: Python TLE 求解


NeiR (Arutoria White)

學校 : 國立臺南第一高級中學
編號 : 79667
來源 : [140.114.123.84]
最後登入時間 :
2024-01-07 17:52:00
a417. 螺旋矩陣 | From: [42.77.173.167] | 發表日期 : 2019-03-30 23:09

因為討論區沒有縮排 所以貼在git上(怕傷各位大神眼睛 (☉д⊙) ):

https://gist.github.com/StreliziaApus/2d1a24f7444e924aeaac35b48d2f10db

不才的做法是:先找一個起點開始,依照 順時針或逆時針 設置 nextFunc 為向下或向右,再讓主程是去跑nextFun:

array[0][0]=1
if(direct==1):nextFunc=goRight
elif(direct==2):nextFunc=goDown

方法里邊走邊設定數字,每走一步就會檢查是否撞到邊,如果撞到邊就不繼續走,然後判斷依照是順時針或逆時針,設置下一步應該走什麼:

例如 goDown() 碰到邊後:
if(direct==1): nextFunc= goLeft
elif(direct==2):nextFunc= goRight
 
 
不才還沒想到其他方式,這個已經花很久才寫出來了,結果 tle  (╯°Д°)╯︵ ┻━┻ 
懇請各為大神賜教  ≧▽≦ ,感激不盡!!  
 
ZeroJudge Forum