Ctrl K

XOR-маршруты по сетке

Средняя
Дана таблица grid размером m × n с числами от 0 до 15 и число target. Робот стартует в левой верхней клетке (0, 0) и должен дойти до правой нижней (m − 1, n − 1), двигаясь только вправо или вниз. Значение маршрута — XOR всех чисел в клетках, через которые он прошёл, включая начальную и конечную. Верните количество маршрутов со значением ровно target. Ответ может быть большим, верните его по модулю 10⁹ + 7.
Пример 1
grid=[[1, 2], [3, 4]], target=7 → 1

Путь вправо, затем вниз: 1 XOR 2 XOR 4 = 7. Путь вниз, затем вправо: 1 XOR 3 XOR 4 = 6. Подходит один.

Пример 2
grid=[[5, 0, 5], [0, 5, 0]], target=0 → 3

Из трёх маршрутов XOR равен 0 у всех трёх: на каждом пятёрка встречается чётное число раз.

Пример 3
grid=[[3, 6, 1]], target=4 → 1

Маршрут один: 3 XOR 6 XOR 1 = 4.

Ограничения
  • 1 ≤ m, n ≤ 300
  • 0 ≤ grid[r][c] < 16
  • 0 ≤ target < 16
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРассадка на экзамене без списывания СложнаяКоммутация двух панелей СложнаяПо одному с каждой полки СложнаяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
grid=[[1, 2], [3, 4]], target=7
Ожидается
1

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