Решатель судоку 9×9
Задача по программированию с проверкой онлайн
- Сложность
- Сложная
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Рекурсия и перебор
- Матрицы и сетки
Дано поле судоку 9×9: список из 9 строк по 9 символов, где цифра 1–9 — заполненная клетка, а . — пустая. Заполните все пустые клетки так, чтобы в каждой строке, каждом столбце и каждом из девяти квадратов 3×3 (строки и столбцы 0–2, 3–5, 6–8) каждая цифра от 1 до 9 встречалась ровно один раз. Уже заполненные клетки менять нельзя. Верните решённое поле в том же виде: 9 строк по 9 цифр.
Гарантируется, что данные цифры не противоречат правилам и решение ровно одно; поле может быть уже заполнено целиком. Среди тестов есть головоломки с 17 подсказками, на которых простой перебор клеток по порядку не уложится во время.
Пример: ["...9723.1", "6.......7", "...613..8", "5..2.1.3.", "26.3.8759", ".48.9..2.", "..6134...", "1.....67.", "8...26413"] → ["485972361", "613485297", "972613548", "597261834", "261348759", "348597126", "726134985", "134859672", "859726413"].
Источник: задача CodeShare