Remplir la grille

Étant donné une grille , vous devez la remplir avec des trominos en forme de L (L-shaped trominos), à l’exception d’une seule case (r, c). Cette case doit rester vide.
Un tromino en forme de L est une figure obtenue en retirant une seule case d’un carré .
Si le remplissage de la grille s’avère impossible, le programme doit afficher Impossible.
 
tromino en forme de L (L-shaped tromino)
tromino en forme de L (L-shaped tromino)

Entrée

La première ligne de l’entrée contient un seul entier n (1 ≤ n ≤ 9).
La deuxième ligne contient les coordonnées de la case vide (r, c) (1 ≤ r, c ≤ ), où r est la ligne de la case vide et c est la colonne de cette case.

Sortie

Le programme doit afficher lignes, chacune contenant nombres séparés par un espace. Chaque nombre doit représenter un tromino en forme de L. La case retirée doit être marquée par un 0. Les trominos doivent être numérotés de 1 à . S’il existe plusieurs solutions, le programme peut en afficher n’importe laquelle.

Exemples

Entrée
Sortie
2 1 1
0 1 3 3 1 1 4 3 2 4 4 5 2 2 5 5
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 10 MB

To check your solution you need to sign in
Sign in to continue