Треки
/
Scala
Scala
/
Вправи
/
Помічник для Killer Sudoku
Помічник для Killer Sudoku

Помічник для Killer Sudoku

Середня

Вказівки

Уявімо, що один наш друг вивчає, як розвʼязувати Killer Sudoku (правила нижче), але ніяк не може збагнути, які цифри можуть потрапити в клітку. Він просить нас допомогти йому й написати невеличку програму, яка перелічує всі допустимі комбінації для заданої клітки та будь-які обмеження, що впливають на цю клітку.

Щоб вихідні дані програми було легко читати, комбінації, які вона повертає, мають бути відсортовані.

Правила Killer Sudoku

  • Діють стандартні правила судоку.
  • Цифри в клітці, зазвичай позначеній пунктирною лінією, у сумі дають маленьке число, вказане в куті клітки.
  • Цифра може траплятися в клітці лише один раз.

За докладнішим поясненням звернімося до цього посібника.

Приклад 1: клітка лише з однією можливою комбінацією

У клітці з трьох цифр із сумою 7 існує лише одна допустима комбінація: 124.

  • 1 + 2 + 4 = 7
  • Будь-яка інша комбінація, що в сумі дає 7, наприклад 232, порушувала б правило про не повторюваність цифр у межах клітки.

Сітка судоку з трьома клітками, позначеними як обʼєднані в групу. Перша клітка розташована у квадраті 3×3 у верхньому лівому куті сітки. Середній стовпець цього квадрата утворює клітку, і його клітинки згори вниз такі: у першій міститься 1 і позначка олівцем 7, що вказує на суму клітки 7, у другій міститься 2, у третій міститься 5. Числа виділено червоним, що вказує на помилку. Друга клітка розташована в центральному квадраті 3×3 сітки. Середній стовпець цього квадрата утворює клітку, і його клітинки згори вниз такі: у першій міститься 1 і позначка олівцем 7, що вказує на суму клітки 7, у другій міститься 2, у третій міститься 4. Жодне з чисел у цій клітці не виділено, тож помилок тут немає. Третя клітка йде за зовнішнім кутом центрального квадрата 3×3 сітки. Вона складається з трьох клітинок: у верхній лівій міститься 2, виділена червоним, і сума клітки 7. У верхній правій міститься 3. У нижній правій міститься 2, виділена червоним. Усі інші клітинки порожні.

Приклад 2: клітка з кількома комбінаціями

У клітці з двох цифр із сумою 10 є 4 можливі комбінації:

  • 19
  • 28
  • 37
  • 46

Сітка судоку, усі клітинки порожні, крім середнього стовпця, стовпця 5, у якому заповнено 8 клітинок. Кожні дві сусідні клітинки утворюють клітку й позначені як обʼєднані в групу. Згори вниз: першу групу утворює клітинка зі значенням 1 і позначкою олівцем, що вказує на суму клітки 10, та клітинка зі значенням 9. Другу групу утворює клітинка зі значенням 2 і позначкою олівцем 10, та клітинка зі значенням 8. Третю групу утворює клітинка зі значенням 3 і позначкою олівцем 10, та клітинка зі значенням 7. Четверту групу утворює клітинка зі значенням 4 і позначкою олівцем 10, та клітинка зі значенням 6. Остання клітинка в стовпці порожня.

Приклад 3: клітка з кількома комбінаціями, але з обмеженнями

У клітці з двох цифр із сумою 10, де стовпець уже містить 1 і 4, є 2 можливі комбінації:

  • 28
  • 37

19 і 46 неможливі через 1 і 4 у стовпці згідно зі стандартними правилами судоку.

Сітка судоку, усі клітинки порожні, крім середнього стовпця, стовпця 5, у якому заповнено 8 клітинок. Перший рядок містить 4, другий порожній, а третій містить 1. Одиницю виділено червоним, що вказує на помилку. Останні 6 клітинок у стовпці утворюють клітки по дві клітинки кожна. Згори вниз: першу групу утворює клітинка зі значенням 2 і позначкою олівцем, що вказує на суму клітки 10, та клітинка зі значенням 8. Другу групу утворює клітинка зі значенням 3 і позначкою олівцем 10, та клітинка зі значенням 7. Третю групу утворює клітинка зі значенням 1, виділена червоним, і позначка олівцем 10, та клітинка зі значенням 9.

Спробуймо самі

Якщо хочеться взятися за доступний Killer Sudoku, можна спробувати цю головоломку від Clover, яку Марк Ґудлайф показав у Cracking The Cryptic 21 червня 2021 року.

Killer Sudoku різної складності також трапляються в багатьох газетах, а також у застосунках, книжках і на вебсайтах із судоку.

Подяки

Наведені вище знімки екрана створено за допомогою F-Puzzles.com, інструмента для створення головоломок від Еріка Фокса.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Scala Exercism

Час розпочати Помічник для Killer Sudoku?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Scala, а також 95 вправ та справжнє наставництво від людей, і все це безкоштовно.