Skip to content

Latest commit

 

History

History
45 lines (26 loc) · 1.35 KB

File metadata and controls

45 lines (26 loc) · 1.35 KB

Numberlink

Это cолвер игры Numberlink на Python с использованием Google OR-Tools (CP-SAT)

Цель: для каждой пары одинаковых чисел на поле проложить непересекающиеся ортогональные пути, которые соединяют пары и заполняют всё поле

Ввод

Текстовый формат:

ширина высота
строка 1
строка 2
...
строка H

Каждое число (кроме нулей) встречается ровно дважды — это концы одной цепочки

0 означает пустую клетку

Движение по клеткам — по сторонам (вверх/вниз/влево/вправо)

Пример:

4 4
1 2 3 4
0 0 0 0
0 0 0 0
1 2 3 4

Вывод

Если решение найдено - выводится таблица целых чисел (каждая строка — ряд решётки)

Если решения нет — строка: I can't solve it

Структура

fast_solve.py — общее медленное решение

solve_in_average.py — улучшенное решение (эвристики/ограничения)

main.py — чтение ввода, запуск солвера, печать результата