Word Search в таблице символов
Дана таблица символов grid и строка word. Нужно определить, можно ли собрать word, двигаясь по соседним клеткам вверх, вниз, влево или вправо.
Одну и ту же клетку нельзя использовать дважды в одном пути.
Сигнатура
def word_exists(grid: list[list[str]], word: str) -> bool:Ваше решение
Идея решения
Запускаем DFS из каждой клетки, которая совпадает с первым символом. В DFS проверяем текущий символ, помечаем клетку как использованную, рекурсивно пробуем четыре направления и снимаем пометку при откате.
Backtracking нужен, потому что одна клетка может участвовать в разных кандидатных путях, но не может повторяться внутри одного пути.