Fora de joc? P30075


Statement
 

Graphic problem

pdf   zip

html

Ajudeu a visualitzar si una situació d’un partit de futbol és fora de joc o no (amb les regles simplificades que s’expliquen més avall). Aquesta és la descripció del terreny de joc:

  • El terreny és de color ‘Green’, i té dimensions 101 × 71.
  • Totes les línies són rectes, horitzontals o verticals, de color ‘White’.
  • Hi ha una línia vertical, amb x = 50, que divideix el terreny en dues meitats.
  • Al costat esquerre, l’àrea gran està definida pels punts (16, 16) i (16, 54).
  • Al costat esquerre, l’àrea petita està definida pels punts (6, 25) i (6, 45).
  • Al costat dret, les dues àrees en són totalment simètriques.
  • La circumferència central també és blanca, i té diàmetre 21.

L’equip B juga contra l’equip M. B ataca cap a l’esquerra. Coneixem les posicions (xbi, ybi) dels n jugadors de camp de B. També coneixem les posicions (xmi, ymi) dels m jugadors de camp de M. Suposem que li han passat la pilota al jugador més avançat (amb la x més petita) de B. Sigui x1 aquesta x. Sigui x2 la x del jugador més endarrerit (també, amb la x més petita) de M. Tenim tres casos:

  • Si x1 > 50, no hi pot haver fora de joc.
  • Si x1 < 50, n’hi ha si x1 < x2. Marqueu-ho pintant amb ‘Red’ la gespa amb xx1.
  • Si x1 < 50, no hi ha fora de joc si x1 > x2. Pinteu amb ‘Orange’ la gespa amb xx2.

A més, els jugadors de B s’ha de pintar de color ‘Blue’, i els jugadors de M, de color ‘Magenta’, tots amb cercles de diàmetre 7 centrats a la posició de cada jugador.

Entrada

L’entrada consisteix en n, xb1, yb1, …, xbn, ybn, m, xm1, ym1, …, xmm, i ymm. Tant n com m estan entre 1 i 10, les x estan entre 5 i 95, i les y entre 5 i 65. A més, totes les x són diferents, x1 ≠ 50, i els cercles dels jugadors no se solapen entre si.

Sortida

Cal generar una imatge (101, 71) amb els colors de fons adequats a la situció dels jugadors, les ratlles i la circumferència central blanques, i tots els cercles dels jugadors.

Observacions

  • Per evitar problemes amb els colors de fons (veieu l’exemple 2), dibuixeu el cercle amb
    dib.arc([40, 25, 60, 45], 0, 360, 'White')
  • Una recta horitzontal no és més que un rectangle amb alçada 1, i similarment amb les rectes verticals.
Public test cases
  • Input

    1
    55
    10
    1
    60
    32
    

    Output

    sample-1.png

     (101×71)

  • Input

    1
    46
    45
    2
    84
    40
    48
    16
    

    Output

    sample-2.png

     (101×71)

  • Input

    2
    30
    60
    90
    53
    3
    60
    55
    7
    40
    16
    18
    

    Output

    sample-3.png

     (101×71)

  • Information
    Author
    Víctor Martín
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python