Donades 2n paraules de mida n, en podeu posar n horitzontalment (d’esquerra a dreta) i les altres n verticalment (de dalt a baix) de manera que formin una matriu n × n?
Entrada
L’entrada consisteix en diversos casos, cadascun amb n, seguida de 2n paraules diferents de mida n. Suposeu 2 ≤ n ≤ 5, que les paraules només tenen lletres majúscules, i que sempre hi haurà almenys una solució.
Sortida
Per a cada cas, escriviu en ordre totes les matrius que es poden aconseguir. Per ordenar-les, suposeu que les recorreu per files de dalt a baix, i cada fila d’esquerra a dreta. (Al primer exemple, “BAZA” va abans que “BZAA”.) Escriviu una línia buida després de cada matriu, i una línia amb 10 guions al final de cada cas.
Input
2 BZ ZA AA BA 3 AAB ABA ABB BAA BBA BBB
Output
BA ZA BZ AA ---------- AAB BBB BAA ABB ABA BBA BAA BBB AAB BBA ABA ABB ----------