Dissenyant estovalles P28763


Statement
 

Graphic problem

pdf   zip

thehtml

Teniu un projector de rajos de llum horitzontals i verticals sobre una superfície inicialment negra. Cada raig i és d’un color definit amb els tres paràmetres habituals (ri, gi, bi). El color de cada píxel és la suma dels colors dels rajos que hi passen. Per exemple, si exactament els dos rajos i i j passen per un cert píxel, aquest tindrà color (ri + rj, gi + gj, bi + bj). L’única excepció es produeix quan la suma d’algun dels tres camps passaria de 255; en aquest cas el valor es queda en 255.

Algú està fent proves amb el projector per dissenyar estovalles llampants amb diverses franges de colors. En podeu dibuixar el resultat?

Entrada

L’entrada comença amb l’amplada m i l’alçada n de les estovalles, ambdues estrictament positives. Segueixen el nombre de franges f, seguit de la informació de les f franges: un caràcter que pot ser ‘H’ o ‘V’ per indicar si la franja és horitzontal o vertical, dos enters e ‍i ‍d (amb ed) que indiquen l’interval [e, d] que cal pintar, i tres enters entre 0 i 255 que defineixen el color de la franja. Tots els intervals donats es troben estrictament dintre de les estovalles.

Sortida

Dibuixeu una imatge amb m píxels d’amplada i n píxels d’alçada, on el color de cada píxel és tal i com s’ha definit anteriorment.

Observació

Recordeu que podeu consultar la xuleta per a problemes gràfics a
https://lliçons.jutge.org/python/grafics/.

Public test cases
  • Input

    200 150
    6
    V 100 179 0 0 255
    V 0 39 255 0 0
    V 60 79 0 140 0
    H 20 39 0 100 200
    H 50 69 150 150 0
    V 120 139 200 0 0
    

    Output

    sample-1.png

     (200×150)

  • Input

    200 100
    3
    V 50 149 0 0 255
    H 0 49 255 0 0
    V 0 99 0 255 0
    

    Output

    sample-2.png

     (200×100)

  • Input

    1 1
    2
    H 0 0 150 0 200
    V 0 0 0 0 255
    

    Output

    sample-3.png

     (1×1)

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