Herausforderung:
Bestimmen Sie bei einem Sudoku-Board mit Standardeingabe die Mindestanzahl der hinzugefügten Nummern, um das Board eindeutig zu machen.
Besonderheiten / Regeln:
Die Eingabe ist wie folgt formatiert (alle Leerzeichen sind signifikant)
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
Die Ausgabe wird mit einer Zahl pro Zeile formatiert, die wie folgt formatiert ist:
(x,y):z
- x und y beginnen links oben bei eins und erhöhen sich nach unten und rechts; z ist die Zahl, die hinzugefügt werden soll.- In diesem Fall wird diese alle gültigen Ausgaben würde:
(3,4):3
,(3,4):7
,(5,4):3
,(5,4):7
,(3,6):3
,(3,6):7
,(5,6):3
, und(5,6):7
, als einer dieser das Board zu lösende erlauben würde.
- In diesem Fall wird diese alle gültigen Ausgaben würde:
- Wenn eine eindeutige / gelöste Sudoku-Tafel eingegeben wird, sollte das Programm nichts drucken, auch keine neue Zeile.
- Das Programm sollte für jedes Board in weniger als einer Stunde ausgeführt werden (ich empfehle, ein vollständig leeres Board oder ein Board mit einer Zufallszahl zu verwenden ...).
Wertung:
- Geben Sie die Gesamtgröße Ihres Codes (Golf) in Zeichen an, einschließlich Leerzeichen ...
Boni:
1/2 Codegröße : Wenn das Programm ein einzelnes Ausrufezeichen druckt und eine Tafel ohne eingegebene Lösungen nicht mehr anzeigt.
1/2 Codegröße : Wenn das Programm zwei Ausrufezeichen druckt und eine Tafel mit einem internen Widerspruch nicht mehr eingibt (zwei gleiche Zahlen in derselben Zeile / Spalte / Quadrat).