syamphanindra7's blog

By syamphanindra7, history, 7 years ago, In English

I have applied BFS and i am getting TLE for it tell how to do that??

  • Vote: I like it
  • -8
  • Vote: I do not like it

| Write comment?
»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

You haven't posted your code so I have to guess. :p
Maybe from a given position (x, y), you are checking ALL the positions you can move to, in a single move (there are O(N) positions for each (x,y)). This gives you a time complexity of O(N*N*N) instead of O(N*N). Instead, from (x, y), you can just check the 8 immediate adjacent positions you can move to and update cost accordingly. Along with (x, y), store a parameter dir storing the direction you are moving in currently. So, if you keep moving along the same direction, you incur a cost of 0, while it costs 1 to change direction. Final ans is the total number of times you change direction.