Cruz recursiva P43260


Statement
 

pdf   zip

html

Haz un programa que escriba por pantalla diseños como el que se muestra a continuación, que corresponde a n=3.

             |
            -O-
             |
          |  |  |
         -O--O--O-
          |  |  |
             |
            -O-
             |
    |        |        |
   -O-      -O-      -O-
    |        |        |
 |  |  |  |  |  |  |  |  |
-O--O--O--O--O--O--O--O--O-
 |  |  |  |  |  |  |  |  |
    |        |        |
   -O-      -O-      -O-
    |        |        |
             |
            -O-
             |
          |  |  |
         -O--O--O-
          |  |  |
             |
            -O-
             |

Esto puede parecer complicado, a menos que te des cuenta que en realidad este diseño no es más que repetir 5 veces la solución para n=2,

             |
            -O-
             |
          |  |  |
         -O--O--O-
          |  |  |
             |
            -O-
             |

tal y como se muestra a continuación,

-------------------------------
|         |    |    |         |
|         |   -O-   |         |
|         |    |    |         |
|         | |  |  | |         |
|         |-O--O--O-|         |
|         | |  |  | |         |
|         |    |    |         |
|         |   -O-   |         |
|         |    |    |         |
-------------------------------
|    |    |    |    |    |    |
|   -O-   |   -O-   |   -O-   |
|    |    |    |    |    |    |
| |  |  | | |  |  | | |  |  | |
|-O--O--O-|-O--O--O-|-O--O--O-|
| |  |  | | |  |  | | |  |  | |
|    |    |    |    |    |    |
|   -O-   |   -O-   |   -O-   |
|    |    |    |    |    |    |
-------------------------------
|         |    |    |         |
|         |   -O-   |         |
|         |    |    |         |
|         | |  |  | |         |
|         |-O--O--O-|         |
|         | |  |  | |         |
|         |    |    |         |
|         |   -O-   |         |
|         |    |    |         |
-------------------------------

y que ésta, a su vez, consiste en repetir 5 veces la solución para n=1.

Entrada

Una línea con un valor n entre 1 y 6.

Salida

Exactamente 3n líneas de 3n+2 caracteres cada una, mostrando el diseño descrito, más dos carácters adicionales ‘|’ al principio y al final de cada línea.

Public test cases
  • Input

    1
    

    Output

    | | |
    |-O-|
    | | |
    
  • Input

    2
    

    Output

    |    |    |
    |   -O-   |
    |    |    |
    | |  |  | |
    |-O--O--O-|
    | |  |  | |
    |    |    |
    |   -O-   |
    |    |    |
    
  • Input

    3
    

    Output

    |             |             |
    |            -O-            |
    |             |             |
    |          |  |  |          |
    |         -O--O--O-         |
    |          |  |  |          |
    |             |             |
    |            -O-            |
    |             |             |
    |    |        |        |    |
    |   -O-      -O-      -O-   |
    |    |        |        |    |
    | |  |  |  |  |  |  |  |  | |
    |-O--O--O--O--O--O--O--O--O-|
    | |  |  |  |  |  |  |  |  | |
    |    |        |        |    |
    |   -O-      -O-      -O-   |
    |    |        |        |    |
    |             |             |
    |            -O-            |
    |             |             |
    |          |  |  |          |
    |         -O--O--O-         |
    |          |  |  |          |
    |             |             |
    |            -O-            |
    |             |             |
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++