Distància Manhattan

Sigui abs(z)\mbox{abs}(z) el valor absolut de zz. Per exemple, abs(7)=abs(7)=7\mbox{abs}(7) = \mbox{abs}(-7) = 7.

Donats dos punts en el pla (x1,y1)(x_1, y_1) i (x2,y2)(x_2, y_2), la seva distància Manhattan es defineix com abs(x1x2)+abs(y1y2)\mbox{abs}(x_1 - x_2) + \mbox{abs}(y_1 - y_2).

Feu un programa que lleigeixi vuit naturals nn, mm, xrx_r, yry_r, xgx_g, ygy_g, xbx_b i yby_b, i que dibuixi una imatge amb n×mn \times m punts. El component red del color de cada punt (x,y)(x, y) ha de ser el residu de la divisió entre 256 de la distància Manhattan entre (x,y)(x, y) i (xr,yr)(x_r, y_r), i similarment amb els components green i blue respecte de (xg,yg)(x_g, y_g) i (xb,yb)(x_b, y_b), respectivament.

Entrada

L’entrada consisteix en els vuit naturals mencionats anteriorment. Podeu suposar que les tres xx estan entre 0 i n1n - 1, i que les tres yy estan entre 0 i m1m - 1. Però pot ser que algun component del color no s’hagi d’usar (és a dir, que hagi de ser 0 a tot arreu). Això s’indica amb un parell de -1 per a aquell component.

Sortida

Cal generar una imatge (n,m)(n, m) segons s’ha explicat.

Observació

En Python 3, la funció valor absolut es diu abs()\mbox{abs}(), i el residu es calcula amb l’operador %.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T11:22:57.121Z

© Jutge.org, 2006–2026.
https://jutge.org