Pobles d'un país P95415


Statement
 

Graphic problem

pdf   zip

html

Considereu un país modelitzat amb una graella amb c columnes i f files. La cantonada superior esquerra es correspon a la posició (1, 1), i la inferior dreta a la (c, f). En aquest país hi ha n cases, totes en posicions enteres. Per defecte, les cases formen part de pobles diferents. Tanmateix, cada casa ha de pertànyer al mateix poble que qualsevol altra casa que es trobi immediatament a la seva esquerra, dreta, a sobre o a sota. Podeu pintar quins són els pobles d’aquest país?

Entrada

L’entrada consisteix en c, f i n, seguits d’n parells diferents (x, y), amb 1 ≤ xc i 1 ≤ yf, indicant les cases del país. Suposeu que c i f estan entre 1 i 40, i 1 ≤ nf · c. Cap dels pobles tindrà més de 900 cases.

Sortida

Cal generar una imatge (15c, 15f) de color de fons ‘Beige’. Marqueu les cases amb cercles de diàmetre 5 centrats al quadrat 15 × 15 corresponent. Totes les cases de cada poble s’han de pintar del mateix color.

Per decidir el color de cada poble, suposeu que l’ajuntament n’és la casa més amunt (i en cas d’empat, la més a l’esquerra). Ordeneu els pobles entre si segons la posició dels ajuntaments usant el mateix criteri: primer el poble que té l’ajuntament més amunt, i en cas d’empat el que el té més a l’esquerra. Finalment, useu els colors ‘Red’, ‘Green’ i ‘Blue’ en aquest ordre i de forma cíclica per pintar els pobles.

Addicionalment, pinteu la relació d’adjacència entre dues cases d’un poble de color col, situades en els punts (x1, y1) i (x2, y2) de la imatge, fent servir la comanda

dib.line([(x1, y1), (x2, y2)], col)

Observació

Podeu obtenir 40 punts amb casos amb un únic poble (vermell), i on c i f estan entre 1 i 10, com l’Exemple d’entrada 1.

Public test cases
  • Input

    6
    3
    4
    3
    1
    4
    2
    3
    2
    3
    3
    

    Output

    ab-sample-1.png

     (90×45)

  • Input

    5
    4
    10
    1
    2
    2
    2
    3
    1
    1
    4
    3
    2
    3
    3
    3
    4
    4
    3
    5
    1
    2
    3
    

    Output

    az-sample-2.png

     (75×60)

  • Input

    6
    3
    10
    1
    2
    1
    3
    3
    2
    4
    2
    1
    1
    3
    1
    4
    1
    6
    1
    5
    3
    6
    2
    

    Output

    az-sample-3.png

     (90×45)

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