Distància Manhattan mínima P61448


Statement
 

Graphic problem

pdf   zip

Donats dos punts (x1,y1)(x_1, y_1) i (x2,y2)(x_2, y_2), la seva distància Manhattan és |x1x2|+|y1y2|\vert x_1 - x_ 2 \vert + \vert y_1 - y_ 2 \vert. Per exemple, la distància Manhattan entre (2,3)(2, 3) i (9,2)(9, 2) és |29|+|32|=7+1=8\vert 2 - 9 \vert + \vert 3 - 2 \vert = 7 + 1 = 8.

Donada una graella m×nm \times n, per a cada punt pp definim d(p)d(p) com la mínima de les quatre distàncies Manhattan de pp a totes les cantonades de la graella. Tingueu en compte que la cantonada de dalt a l’esquerra és (0,0)(0, 0), la de baix a l’esquerra és (0,n1)(0, n - 1), …

Feu un programa que pinti cada punt pp amb una intensitat de color proporcional a d(p)d(p).

Entrada

L’entrada consisteix en cinc naturals m1m \ge 1, n1n \ge 1, rr, gg i bb.

Sortida

Cal generar una imatge (m,n)(m, n) amb cada punt pp de color (d(p)r,d(p)g,d(p)b)(d(p) \cdot r, d(p) \cdot g, d(p) \cdot b). Podeu suposar que cap d’aquests valors serà més gran de 255.

Public test cases
  • Input

    15
    8
    25
    0
    15
    

    Output

    sample-1.png

     (15×8)

  • Input

    360
    150
    0
    1
    0
    

    Output

    sample-2.png

     (360×150)

  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python