Город - сетка grid (0 - улица, 1 - перекрытый квартал). Детектив в клетке start ([строка, столбец]), подозреваемый засел в target. Ходить можно на соседнюю клетку по вертикали или горизонтали. Верните длину кратчайшего пути в шагах или -1, если добраться нельзя.
Сигнатура функции
shortest_stakeout_path(grid: list[list[int]], start: list[int], target: list[int]) -> int