Sfida:
Data una scheda Sudoku sull'input standard, trova il numero minimo di numeri aggiunti per rendere unica la scheda.
Specifics / Regole:
L'input è formattato come segue (tutto lo spazio bianco è significativo)
516|827|943 278|394|615 349|615|872 ---+---+--- 98 |4 2|156 465|189|237 12 |5 6|489 ---+---+--- 892|743|561 634|951|728 751|268|394
L'output è formattato con un numero per riga, formattato come
(x,y):z
- xey inizia da uno in alto a sinistra e aumenta in basso e a destra; z è il numero da aggiungere.- In questo caso questi sarebbero tutti uscite validi:
(3,4):3
,(3,4):7
,(5,4):3
,(5,4):7
,(3,6):3
,(3,6):7
,(5,6):3
, e(5,6):7
, come uno qualsiasi di questi consentirebbe il bordo da risolvere.
- In questo caso questi sarebbero tutti uscite validi:
- Se viene inserita una scheda Sudoku unica / risolta, il programma non dovrebbe stampare nulla, nemmeno una nuova riga.
- Il programma dovrebbe funzionare in meno di un'ora per qualsiasi scheda (suggerisco di provare usando una scheda completamente vuota o una scheda con un numero casuale su di essa ...).
punteggio:
- Prendi la dimensione del tuo codice totale (golfizzata) in caratteri, incluso tutto lo spazio bianco ...
bonus:
1/2 codice : se il programma stampa un singolo punto esclamativo e si interrompe dopo aver inserito una scheda senza soluzioni.
1/2 codice : Se il programma stampa due punti esclamativi e si interrompe dopo aver inserito una scheda con una contraddizione interna (due numeri uguali sulla stessa riga / colonna / quadrato).