Quadrats llatins P97271


Statement
 

pdf   zip

thehtml

Un quadrat llatí és una matriu n × n tal que cada fila i cada columna conté tots els nombres entre 1 i n. Feu un programa que, donades algunes posicions fixes d’una matriu n × n, compti totes les maneres de completar-la per formar un quadrat llatí.

Entrada

L’entrada consisteix en diversos casos, cadascun amb una n entre 1 i 9, seguida d’n files amb n caràcters cadascuna. Els punts indiquen posicions lliures, i els dígits entre 1 i n posicions fixes.

Sortida

Per a cada cas, escriviu el nombre de maneres d’omplir la matriu de forma que sigui un quadrat llatí. Sempre hi haurà, almenys, una manera.

Public test cases
  • Input

    3
    ...
    ...
    ...
    
    4
    ...3
    ....
    ....
    ....
    
    2
    12
    21
    
    9
    75.24.193
    ..3..5.8.
    9.84...21
    .8.1..7..
    .6...2...
    3..8.6..5
    ..2..4.1.
    .19.5.64.
    6.7.8.2.4
    

    Output

    12
    144
    1
    13
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++