Конин Георгий/escape-a-large-maze

Материал из DISCOPAL
Перейти к: навигация, поиск

Задача

Код

class Solution:
    def isEscapePossible(self, blocked: List[List[int]], source: List[int], target: List[int]) -> bool:
 
        blocked = {tuple(p) for p in blocked}
 
        def bfs(source,target):
            queue =  [source]
            visited = {tuple(source)}
 
            for x0,y0 in queue:
                for (i,j) in [(1,0),(-1,0),(0,-1),(0,1)]:
                    x = x0+i
                    y = y0+j 
                    if 0 <= x < 10**6 and 0 <= y < 10**6 and (x,y) not in visited and (x,y) not in blocked:
                        if [x,y] == target: 
                            return True 
                        queue.append([x,y])
                        visited.add((x,y))
 
                if len(queue) == 30000:
                    return True 
 
            return False 
 
        return bfs(source,target) and bfs(target,source)

Submission

https://leetcode.com/problems/escape-a-large-maze/submissions/1439111016/


StasFomin 02:22, 6 ноября 2024 (UTC):

Тут многое легко исправить автоформатером, а читаемость вашего питон-кода будет важна в других квестах курса.

BrokenSolution.png

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.