Énoncé

On se propose de jouer au jeu suivant.
Le but est de retrouver une matrice binaire (contenant des 0 et des 1). Pour ce faire, chaque ligne et chaque colonne de la matrice est décrite par une suite d'entiers. Pour obtenir cette représentation, une première transformation est réalisée qui consiste à énumérer le nombre de symboles identiques consécutifs, par une lecture de gauche à droite pour les lignes et de haut en bas pour les colonnes.
Par exemple, prenons la ligne suivante : 01001111001, cette ligne sera représentée par la suite 1-1-2-4-2-1, qui se lit "je vois une suite de 1 chiffre identique, puis une suite de 1 chiffre identique, puis une suite de 2 chiffres identiques, puis une suite de 4 chiffres identiques, puis une liste de 2 chiffres identiques, puis une liste de 1 chiffre identique".
Ensuite, ne sont retenus de cette représentation que les nombres correspondant aux chiffres 1 dans la matrice. Pour l'exemple précédent, nous obtenons : 1-4-1, ce qui peut se lire "je vois une liste de un 1 consécutif, puis une liste de quatre 1 consécutifs, puis une liste de un 1 consécutif".
Étant donné l'ensemble de ces représentations pour toutes les lignes et les colonnes de la matrice, il est parfois possible de la retrouver de façon unique. C'est l'objectif de cet exercice.

Entrée

L'entrée comporte d'abord une première ligne sur laquelle est indiquée la dimension n de la matrice, qui sera toujours carrée.
Les n lignes suivantes donnent la seconde représentation des lignes de la matrice, par ordre croissant. Les n dernières lignes donnent la seconde représentation des colonnes de la matrice, par ordre croissant également. On suppose qu'à partir de ces représentations, une unique matrice peut-être retrouvée.
La dimension n des matrices sera toujours inférieure ou égale à 15, et on supposera qu'il n'y a qu'une solution à l'entrée donnée.
À fins pédagogiques, voici un exemple n'ayant pas une unique solution :
Entrée :

Sorties possibles :

Sortie

La sortie du programme est la matrice à retrouver, écrite sur n lignes, les bits étant séparés par des espaces.

Exemples

EntréeSortie

Squelette Camllight

Squelette OCaml