Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool iterate(cell_pos pos, int limit, vector<cell_pos> path)
- {
- if(limit>=0)
- {
- if(pos == target)
- {
- labyrint[pos.y][pos.x]=2;
- for(auto &p : path)
- {
- labyrint[p.y][p.x]=2;
- }
- return true;
- }
- vector<cell_pos> neigh = get_neighbors(pos, path);
- path.push_back(pos);
- for (auto &n : neigh)
- {
- if(iterate(n, limit-1, path))
- {
- return true;
- }
- }
- }
- return false;
- }
- //could be optimised
- void find_shortest_path()
- {
- vector<cell_pos> initial = {start};
- bool result = false;
- for(int limit = 0; limit < (N*N-k) || result; limit++)
- {
- result = iterate(start, limit, initial);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement