Graphic problem
Considereu un país modelitzat amb una graella amb columnes i files. La cantonada superior esquerra es correspon a la posició , i la inferior dreta a la . En aquest país hi ha 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?
L’entrada consisteix en , i , seguits d’ parells diferents , amb i , indicant les cases del país. Suposeu que i estan entre 1 i 40, i . Cap dels pobles tindrà més de 900 cases.
Cal generar una imatge
de color de fons ‘Beige’. Marqueu les cases amb cercles de
diàmetre 5 centrats al quadrat
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)
Podeu obtenir 40 punts amb casos amb un únic poble (vermell), i on i estan entre 1 i 10, com l’Exemple d’entrada 1.