Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Problemi con HW6 obbligatorio

R
RenRHYME (280 points)
2 2 3
in HW6 obbligatorio by (280 points)
Buonasera,

Ho appena riconsegnato l'HW6 ma mi passa solo 10 test (il che è deprimente)

Il punto è che io ho la lista con tutte le coordinate dei punti verdi, ho la lunghezza del segmento ma evidentemente il mio metodo di ragionamento non è quello giusto (non del tutto).

Vorrei uno spunto diciamo "nuovo" dal quale partire per la risoluzione dell'HW (solo un incipit sul ragionamento e le strutture dati più adatte perché davvero non riesco a guardare le immagini da un punto di vista diverso da quello che ho usato per la prima versione del codice)

Grazie mille in anticipo.

5 Answers

g
gfran (660 points)
4 6 12
by (660 points)
Per controllare che un segmento sia parte di un lato di un quadrato controlli che tutti i suoi pixel siano rossi?
R
RenRHYME (280 points)
2 2 3
by (280 points)
controllo dal vertice verde che sto considerando al pixel subito a destra.

Faccio questa cosa per k volte con un while e poi cambio direzione ripetendo la stessa cosa (praticamente uso 4 while)
Lorenzo Cristini (10830 points)
0 0 27
by (10.8k points)
Perchè utilizzare una lista con le coordinate dei pixel verdi, quando puoi calcolarti il primo e l'ultimo pixel verde della griglia? Da questo ti ricavi il segmento e facilmente puoi andare di pixel verde in pixel verde
s
simone.lioy (1420 points)
28 30 39
by (1.4k points)
io per esempio so tutti i dati che mi servono lunghezza segmento rosso, grandezza della griglia ma riesco solo a trovare il punto verde che è seguito da due segmenti rossi(lato superiore del quadrato) ma gli altri lati sono tutti sballati
R
RenRHYME (280 points)
2 2 3
by (280 points)
Ho fatto anche la prova con il primo e l’ultimo ma non saprei come trovarmi la distanza tra un punto verde e l’altro
s
simone.lioy (1420 points)
28 30 39
by (1.4k points)
basta che fai la sottrazione da un punto verde all'altro poi ovviamente inverti i risultati cosi da non far uscire il risultato negativo. basta che fai due for e metti un contatore cosi da trovarti solo due punti e non tutti
R
RenRHYME (280 points)
2 2 3
by (280 points)
grazie per la risposta,

ora provo.
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
edited by
R
RenRHYME (280 points)
2 2 3
by (280 points)
Uno va in timeout mentre gli altri sono sbagliati
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
hai già visto i topic che ti ho linkato?
R
RenRHYME (280 points)
2 2 3
by (280 points)
Scusa, prima non si vedevano perché mi aveva caricato male la pagina.

Ora li leggo, grazie
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
Di niente.

..
Tommaso Sgroi (12990 points)
10 11 91
by (13.0k points)
Ti trovi il pixel verde in alto a sx e in basso a dx, ti trovi la lunghezza tra un pixel verde e un altro. Dopodiché ti scorri la lista fino agli ultimi pixel che possono formare un quadrato di lato k, perché è inutile andare fino in fondo alla lista... Ovviamente scorri tenendo conto delle coordinate dei pixel trovati prima, saltando da pixel verde a pixel verde tramite la lunghezza tra di essi.
s
simone.lioy (1420 points)
28 30 39
by (1.4k points)
io sono arrivato al punto che so tutte le coordinate dei quadrati però oltre al quelle ci sono anche altre coordinate che rispettano la mia if, quello che mi manca fare è un controllo con le coordinate di partenza e da li so quanti quadrati ci sono in quella immagine. però non so proprio come fare questo confronto perchè le coordinate si trovano dentro delle tuple, mica potete aiutarmi?