Dibujando rectas P30796


Statement
 

pdf   zip

Sean x1,x2,x_1, x_2, \dots números enteros tales que 0<x1<x2<0 < x_1 < x_2 < \dots, y sean (a1,b1),(a2,b2),(a_1, b_1), (a_2, b_2), \dots parejas de números enteros. Podemos definir una función f(x)f(x) para x0x \ge 0 así: f(x)={a1x+b1,si 0x<x1a2x+b2,si x1x<x2,\begin{equation*} f(x)=\begin{cases} a_1x + b_1, & \text{si $0 \le x < x_1$} \\ a_2x + b_2, & \text{si $x_1 \le x < x_2$} \\ \quad \dots \quad, & \dots \end{cases} \end{equation*}

Haced un programa que dibuje esta función. Suponed que el eje de las xx es el vertical, de arriba a abajo. Para cada xx, escribid una linia con tantos caracteres como f(x)f(x): todos tienen que ser puntos, excepto el último, que tiene que ser una ‘X’.

Entrada

La entrada consiste en una secuencia de tripletes xi,ai,bix_i, a_i, b_i. Podéis suponer 0<x1<x2<0 < x_1 < x_2 < \dots, y que f(x)1f(x) \ge 1 para toda xx.

Salida

Dibujad una gráfica de la función tal y como se ha explicado anteriormente.

Observación

No podéis usar strings, ni vectores, ni nada similar.

Public test cases
  • Input

    4 1 3
    7 0 2
    10 1 3
    14 -2 27
    

    Output

    ..X
    ...X
    ....X
    .....X
    .X
    .X
    .X
    .........X
    ..........X
    ...........X
    ......X
    ....X
    ..X
    X
    
  • Input

    1 0 1
    2 5 0
    3 3 -1
    

    Output

    X
    ....X
    ....X
    
  • Information
    Author
    Salvador Roura
    Language
    Spanish
    Translator
    Salvador Roura
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++ Python