Torres pacíficas P97020


Statement
 

pdf   zip

html

Hacer un programa que escriba todas las maneras de poner n torres en un tablero n × n, de manera que ninguna torre amenace a ninguna otra.

Entrada

La entrada es una secuencia de como mucho 20 naturales, cada uno entre 1 y 7. La secuencia acaba en 0.

Salida

Para cada número n de la entrada, hay que escribir todas las maneras de disponer n torres en un tablero n × n, de manera que ninguna torre amenace a ninguna otra. Recordar que las torres se mueven (y amenazan) horizontal y verticalmente.

Las diversas soluciones han de aparecer en orden lexicográfico. Esto es, entre dos soluciones, aparece antes la que tenga la torre de la primera fila más a la izquierda. En caso de empate, se mira la segunda fila. Si persiste el empate, se mira la tercera, etcétera.

La salida tiene que seguir el mismo formato del ejemplo. Las torres se marcan con una T, las posiciones vacías con un punto. Hay que escribir una línea en blanco después de cada solución, y una línea con 10 guiones después de todas las soluciones para una n dada.

Public test cases
  • Input

    3
    1
    1
    2
    0
    

    Output

    T..
    .T.
    ..T
    
    T..
    ..T
    .T.
    
    .T.
    T..
    ..T
    
    .T.
    ..T
    T..
    
    ..T
    T..
    .T.
    
    ..T
    .T.
    T..
    
    ----------
    T
    
    ----------
    T
    
    ----------
    T.
    .T
    
    .T
    T.
    
    ----------
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++