Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. bool iterate(cell_pos pos, int limit, vector<cell_pos> path)
  2. {
  3. if(limit>=0)
  4. {
  5. if(pos == target)
  6. {
  7. labyrint[pos.y][pos.x]=2;
  8. for(auto &p : path)
  9. {
  10. labyrint[p.y][p.x]=2;
  11. }
  12. return true;
  13. }
  14.  
  15. vector<cell_pos> neigh = get_neighbors(pos, path);
  16.  
  17. path.push_back(pos);
  18. for (auto &n : neigh)
  19. {
  20. if(iterate(n, limit-1, path))
  21. {
  22. return true;
  23. }
  24. }
  25. }
  26.  
  27. return false;
  28. }
  29.  
  30.  
  31. //could be optimised
  32. void find_shortest_path()
  33. {
  34. vector<cell_pos> initial = {start};
  35.  
  36. bool result = false;
  37. for(int limit = 0; limit < (N*N-k) || result; limit++)
  38. {
  39. result = iterate(start, limit, initial);
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement