Easy 0-1 BFS Approach
Code\npython3 []\nfrom collections import deque\n\nclass Solution:\n    def findSafeWalk(self, grid: List[List[int]], health: int) -> bool:\n        m, n = len(
# Code\n```python3 []\nfrom collections import deque\n\nclass Solution:\n    def findSafeWalk(self, grid: List[List[int]], health: int) -> bool:\n        m, n = len(grid), len(grid[0])\n        directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] \n\n        queue = deque([(0, 0, health - grid[0][0])])\n        visited = [[0] * n for _ in range(m)]\n        visited[0][0] = 1\n\n        while queue:\n            x, y, curr_health = queue.popleft()\n            \n            # Check if we\'ve reached the bottom-right corner with sufficient health\n            if (x, y) == (m-1, n-1) and curr_health > 0:\n                return True\n            \n            for dx, dy in directions:\n                nx, ny = x + dx, y + dy\n                \n                if 0 <= nx < m and 0 <= ny < n and not visited[nx][ny]:\n                    next_health = curr_health - 1 if grid[nx][ny] else curr_health\n                    \n                    # Only enqueue if health remains positive\n                    if next_health > 0:\n                        if grid[nx][ny]:\n                            queue.append((nx, ny, next_health))\n                        else:\n                            queue.appendleft((nx, ny, next_health))\n                        visited[nx][ny] = 1                   \n        \n        return False\n\n```
['Array', 'Breadth-First Search', 'Graph', 'Matrix', 'Shortest Path', 'Python3']