Encara més Sudokus P78955


Statement
 

pdf   zip

Feu un programa que trobi l’única solució d’un Sudoku.

Entrada

L’entrada comença amb un nombre nn, seguit de nn Sudokus. Cada Sudoku consisteix en 81 nombres entre zero i nou, més els caràcters que es poden veure als exemples. Un zero marca un valor desconegut. Excepte per als zeros, no hi ha cap número repetit a cap fila, ni a cap columna, ni a cap dels nou quadres 3×33 \times 3. Cada Sudoku té exactament una solució.

Sortida

Per a cada Sudoku, escriviu-ne la solució, seguida d’una línia buida.

Observació

Un programa de força bruta que simplement ompli les files de dalt a baix i d’esquerra a dreta no hauria de ser suficientment ràpid per resoldre aquest exercici. En lloc d’això, a cada pas del programa ompliu la casella buida (o una de les caselles buides) amb menys opcions possibles.

Public test cases
  • Input

    2
    
    0 8 0 | 0 5 9 | 0 0 0
    7 0 3 | 0 0 0 | 0 0 0
    6 4 9 | 7 0 0 | 0 0 0
    ------+-------+------
    0 6 4 | 0 0 3 | 0 0 5
    0 0 7 | 0 0 0 | 6 0 0
    8 0 0 | 6 0 0 | 0 4 0
    ------+-------+------
    0 0 0 | 0 0 7 | 3 2 8
    0 0 0 | 0 0 0 | 1 0 7
    0 0 0 | 8 9 0 | 0 0 0
    
    1 2 3 | 4 5 6 | 7 8 9
    4 5 6 | 0 7 0 | 0 0 0
    7 8 9 | 0 0 0 | 0 6 0
    ------+-------+------
    2 0 0 | 1 0 0 | 0 0 0
    5 0 0 | 0 2 0 | 8 0 0
    8 0 1 | 5 0 3 | 9 0 0
    ------+-------+------
    3 0 0 | 0 6 0 | 1 9 8
    6 0 0 | 0 0 0 | 0 2 7
    9 7 5 | 8 0 0 | 0 0 3
    

    Output

    1 8 2 | 3 5 9 | 4 7 6
    7 5 3 | 2 6 4 | 9 8 1
    6 4 9 | 7 1 8 | 2 5 3
    ------+-------+------
    2 6 4 | 9 7 3 | 8 1 5
    9 1 7 | 4 8 5 | 6 3 2
    8 3 5 | 6 2 1 | 7 4 9
    ------+-------+------
    5 9 6 | 1 4 7 | 3 2 8
    4 2 8 | 5 3 6 | 1 9 7
    3 7 1 | 8 9 2 | 5 6 4
    
    1 2 3 | 4 5 6 | 7 8 9
    4 5 6 | 9 7 8 | 2 3 1
    7 8 9 | 2 3 1 | 4 6 5
    ------+-------+------
    2 9 4 | 1 8 7 | 3 5 6
    5 3 7 | 6 2 9 | 8 1 4
    8 6 1 | 5 4 3 | 9 7 2
    ------+-------+------
    3 4 2 | 7 6 5 | 1 9 8
    6 1 8 | 3 9 4 | 5 2 7
    9 7 5 | 8 1 2 | 6 4 3
    
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C C++