Ctrl K

Скобочный маршрут по сетке

Сложная
Дана прямоугольная сетка grid размером m × n, в каждой клетке которой стоит скобка ( или ). Маршрут начинается в левой верхней клетке, заканчивается в правой нижней и на каждом шаге идёт либо вправо, либо вниз. Выписав скобки всех клеток маршрута по порядку, получаем строку. Строка скобок *правильная*, если каждой открывающей скобке можно сопоставить идущую после неё закрывающую так, чтобы пары не пересекались — например, (())(), но не )( и не ((). Верните True, если есть маршрут, дающий правильную строку, и False иначе.
Пример 1
grid=[['(', '(', ')'], [')', '(', ')']] → True

Маршрут вправо, вправо, вниз собирает (()) — правильная скобочная строка.

Пример 2
grid=[['(', '(', ')'], ['(', ')', '(']] → False

Любой маршрут заканчивается в клетке с (, а правильная строка не может кончаться открывающей скобкой.

Пример 3
grid=[['(', ')', '('], [')', '(', ')'], ['(', ')', ')'], [')', '(', ')']] → True
Ограничения
  • 1 ≤ m, n ≤ 100
  • Все строки сетки одной длины
  • Каждая клетка — ( или )
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый большой горящий блок СложнаяПереход через пещеру СложнаяСамый длинный подъём по карте СложнаяНедели отдыха с перелётами СложнаяЯгодное поле туда и обратно Сложная
загружаем Python…
Вход
grid=[['(', '(', ')'], [')', '(', ')']]
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 42 теста на сервере, включая скрытые.