Track
/
Python
Python
/
Esercizi
/
Assistente per il Killer Sudoku
Assistente per il Killer Sudoku

Assistente per il Killer Sudoku

Medio

Istruzioni

Un tuo amico sta imparando a risolvere i Killer Sudoku (le regole sono più sotto) ma fa fatica a capire quali cifre possono andare in una gabbia. Ti chiede di aiutarlo scrivendo un piccolo programma che elenca tutte le combinazioni valide per una data gabbia, e gli eventuali vincoli che la riguardano.

Per rendere facilmente leggibile l'output del tuo programma, le combinazioni che restituisce devono essere ordinate.

Regole del Killer Sudoku

  • Si applicano le regole standard del Sudoku.
  • Le cifre all'interno di una gabbia, di solito segnata da una linea tratteggiata, sommate insieme danno il piccolo numero scritto nell'angolo della gabbia.
  • Una cifra può comparire una sola volta in una gabbia.

Per una spiegazione più dettagliata, dai un'occhiata a questa guida.

Esempio 1: gabbia con una sola combinazione possibile

In una gabbia da 3 cifre con somma 7, c'è una sola combinazione valida: 124.

  • 1 + 2 + 4 = 7
  • Qualsiasi altra combinazione che dia come somma 7, ad esempio 232, violerebbe la regola che vieta di ripetere le cifre all'interno di una gabbia.

Griglia di Sudoku, con tre gabbie killer contrassegnate come raggruppate insieme.
La prima gabbia killer si trova nel riquadro 3×3 nell'angolo in alto a sinistra della griglia.
La colonna centrale di quel riquadro forma la gabbia, con le seguenti celle dall'alto verso il basso: la prima cella contiene un 1 e una nota a matita di 7, che indica una somma di gabbia pari a 7, la seconda cella contiene un 2, la terza cella contiene un 5.
I numeri sono evidenziati in rosso per indicare un errore.
La seconda gabbia killer si trova nel riquadro centrale 3×3 della griglia.
La colonna centrale di quel riquadro forma la gabbia, con le seguenti celle dall'alto verso il basso: la prima cella contiene un 1 e una nota a matita di 7, che indica una somma di gabbia pari a 7, la seconda cella contiene un 2, la terza cella contiene un 4.
Nessuno dei numeri di questa gabbia è evidenziato e quindi non contiene errori.
La terza gabbia killer segue l'angolo esterno del riquadro centrale 3×3 della griglia.
È composta dalle seguenti tre celle: la cella in alto a sinistra della gabbia contiene un 2, evidenziato in rosso, e una somma di gabbia pari a 7.
La cella in alto a destra della gabbia contiene un 3.
La cella in basso a destra della gabbia contiene un 2, evidenziato in rosso. Tutte le altre celle sono vuote.

Esempio 2: gabbia con più combinazioni

In una gabbia da 2 cifre con somma 10, ci sono 4 possibili combinazioni:

  • 19
  • 28
  • 37
  • 46

Griglia di Sudoku, con tutte le caselle vuote tranne la colonna centrale, la colonna 5, che ha 8 righe riempite.
Ogni due righe contigue formano una gabbia killer e sono contrassegnate come raggruppate insieme.
Dall'alto verso il basso: il primo gruppo è una cella con valore 1 e una nota a matita che indica una somma di gabbia pari a 10, e una cella con valore 9.
Il secondo gruppo è una cella con valore 2 e una nota a matita di 10, e una cella con valore 8.
Il terzo gruppo è una cella con valore 3 e una nota a matita di 10, e una cella con valore 7.
Il quarto gruppo è una cella con valore 4 e una nota a matita di 10, e una cella con valore 6.
L'ultima cella della colonna è vuota.

Esempio 3: gabbia con più combinazioni ma con restrizioni

In una gabbia da 2 cifre con somma 10, in cui la colonna contiene già un 1 e un 4, ci sono 2 possibili combinazioni:

  • 28
  • 37

19 e 46 non sono possibili a causa dell'1 e del 4 presenti nella colonna, in base alle regole standard del Sudoku.

Griglia di Sudoku, con tutte le caselle vuote tranne la colonna centrale, la colonna 5, che ha 8 righe riempite.
La prima riga contiene un 4, la seconda è vuota e la terza contiene un 1.
L'1 è evidenziato in rosso per indicare un errore.
Le ultime 6 righe della colonna formano gabbie killer di due celle ciascuna.
Dall'alto verso il basso: il primo gruppo è una cella con valore 2 e una nota a matita che indica una somma di gabbia pari a 10, e una cella con valore 8.
Il secondo gruppo è una cella con valore 3 e una nota a matita di 10, e una cella con valore 7.
Il terzo gruppo è una cella con valore 1, evidenziato in rosso, e una nota a matita di 10, e una cella con valore 9.

Prova tu stesso

Se vuoi cimentarti con un Killer Sudoku alla portata di tutti, puoi provare questo puzzle di Clover, presentato da Mark Goodliffe su Cracking The Cryptic il 21 giugno 2021.

Puoi anche trovare Killer Sudoku di varia difficoltà in numerosi giornali, oltre che in app, libri e siti web dedicati al Sudoku.

Crediti

Gli screenshot qui sopra sono stati generati con F-Puzzles.com, uno strumento per creare puzzle di Eric Fox.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Python Exercism

Vuoi iniziare Assistente per il Killer Sudoku?

Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.