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 |x1−x2|+|y1−y2|\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 |2−9|+|3−2|=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,n−1)(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 m≥1m \ge 1, n≥1n \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