Dibuixant rectes P30796


Statement
 

pdf   zip

Siguin x1,x2,x_1, x_2, \dots nombres enters tals que 0<x1<x2<0 < x_1 < x_2 < \dots, i siguin (a1,b1),(a2,b2),(a_1, b_1), (a_2, b_2), \dots parells de nombres enters. Podem definir una funció f(x)f(x) per a x0x \ge 0 així: 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*}

Feu un programa que dibuixi aquesta funció. Suposeu que l’eix de les xx és el vertical, de dalt a baix. Per a cada xx, escriviu una línia amb tants caràcters com f(x)f(x): tots han de ser punts, excepte l’últim, que ha de ser una ‘X’.

Entrada

L’entrada consisteix en una seqüència de triplets xi,ai,bix_i, a_i, b_i. Podeu suposar 0<x1<x2<0 < x_1 < x_2 < \dots, i que f(x)1f(x) \ge 1 per a tota xx.

Sortida

Dibuixeu una gràfica de la funció tal i com s’ha explicat anteriorment.

Observació

No podeu fer servir strings, ni vectors, ni res 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
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++ Python