Wyzwanie:
Biorąc pod uwagę tablicę Sudoku na standardowym wejściu, znajdź minimalną liczbę liczb dodanych, aby tablica była wyjątkowa.
Szczegóły / zasady:
Dane wejściowe są sformatowane w następujący sposób (wszystkie białe znaki są znaczące)
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
Dane wyjściowe są sformatowane za pomocą jednej liczby w wierszu, sformatowanej jak
(x,y):z
- xiy zaczynają się od jednej w lewym górnym rogu i zwiększają się w dół i w prawo; z to liczba do dodania.- W tym przypadku są to wszystko jest ważne wyjścia:
(3,4):3
,(3,4):7
,(5,4):3
,(5,4):7
,(3,6):3
,(3,6):7
,(5,6):3
, i(5,6):7
, jak każdy jeden z nich pozwoliłoby deska do rozwiązania.
- W tym przypadku są to wszystko jest ważne wyjścia:
- Jeśli zostanie wprowadzona unikalna / rozwiązana plansza Sudoku, program nie powinien drukować niczego, nawet nowej linii.
- Program powinien działać w ciągu mniej niż godziny dla dowolnej planszy (sugeruję testowanie przy użyciu całkowicie pustej planszy lub planszy z jedną losową liczbą ...).
Punktacja:
- Weź swój całkowity (golfowy) rozmiar kodu w znakach, w tym wszystkie białe znaki ...
Bonusy:
1/2 rozmiaru kodu : Jeśli program wydrukuje pojedynczy wykrzyknik i zatrzyma się po wprowadzeniu tablicy bez wprowadzonych rozwiązań.
1/2 rozmiaru kodu : Jeśli program wypisze dwa wykrzykniki i zatrzyma się po wprowadzeniu tablicy z wewnętrzną sprzecznością (dwie takie same liczby w tym samym rzędzie / kolumnie / kwadracie).