Problema colorare parte già colorata con lo stesso colore

francesco.dev (33560 points)
14 51 129
asked Nov 13, 2017 in Es3 by francesco.dev (33,560 points)
closed Nov 13, 2017 by francesco.dev
Buonasera a tutti,

Ho un piccolo dubbio relativo al terzo esercizio del terzo Homework:

Avendo un quadrato completamente nero di dimensioni 50x50 e che occupa dal pixel (0,0) fino al pixel (49,49) dell'intera immagine,
Se la traccia ci chiede di colorare tutti i pixel connessi al pixel (10,10) di nero, noi dobbiamo ricolorare di nero tutto il quadrato oppure, visto che già è colorato di nero, possiamo evitare di fare questo passo inutile per ottenere lo stesso risultato??

Grazie a chiunque risponderà,
Buona serata!
- Francesco Pio Scognamiglio
416 views
closed with note: answered

2 Answers

Best answer
andrea.sterbini (172780 points)
514 935 1789
answered Nov 13, 2017 by andrea.sterbini (172,780 points)
selected Nov 13, 2017 by francesco.dev
Puoi non ricolorarlo, ma lo devi contare.
giorgio.belli (10140 points)
17 74 98
answered Nov 13, 2017 by giorgio.belli (10,140 points)
Se alla fine i pixel risulteranno colorati correttamente puoi evitare di ricolorarli.
francesco.dev (33560 points)
14 51 129
commented Nov 13, 2017 by francesco.dev (33,560 points)
Altro problema legato al mio dubbio: per l'area devo ugualmente contare tutti questi pixel che erano già colorati del colore che sto utilizzando?
D
Domenicobrz (1470 points)
2 9 19
commented Nov 13, 2017 by Domenicobrz (1,470 points)
Sì. Fai anche particolare attenzione all'ultimo test dell'esercizio perchè mi ha fatto saltare quasi per intero un algoritmo che avevo inizialmente usato. Se calcoli "un'area quadrata" di pixel che vanno colorati e dai per scontato che ognuno di questi vada effettivamente ricolorato potrebbe darti problemi l'ultimo test in cui dalla seconda iterazione in poi solo il bordo viene effettivamente ricolorato mentre i pixel interni no, ottenendo un'area finale di zero anche se il bordo è stato ricolorato
francesco.dev (33560 points)
14 51 129
commented Nov 13, 2017 by francesco.dev (33,560 points)
Ciao Domenico, chiedo direttamente a te:
Non capisco la differenza tra il test6 e il test7, perché nel primo si forma una specie di spirale quadrata e invece nel secondo viene colorato solo l'ultimo bordo.
Potresti darmi una mano a capire? Grazie in anticipo.
andrea.sterbini (172780 points)
514 935 1789
commented Nov 13, 2017 by andrea.sterbini (172,780 points)
Il sesto ricolora il pixel a coordinate 25,25 e quindi colora un quadrato che via via si riduce visto che il quadrato precedente ha un bordo di colore diverso, quindi viene un'immagine con colori cyan a scalare.
Il settimo ricolora più volte il pixel 0,0, la prima volta colora un quadrato, la seconda e le successive si trova sul bordo del quadrato, che ha colore diverso, per cui colora solo il bordo.
Ed ogni volta l'area "interna" è 0.
francesco.dev (33560 points)
14 51 129
commented Nov 13, 2017 by francesco.dev (33,560 points)
Grazie mille prof per il chiarimento!