Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

HW6 testo foto10.....17871

a
andreaamici (1740 points)
9 12 21
asked Nov 28, 2019 in HW6 obbligatorio by andreaamici (1,740 points)
edited Nov 28, 2019 by andreaamici

Buongiorno,mi manca di migliorare di quale ms quest'ultimo test.Sul mio computer alcune volte lo passa ed altre no,sull VM non lo passa...già scorro segmento per segmento e non pixel su pixel,altre idee per migliorare di quel poco che serve?

AGGIORNAMENTO:sono riuscito ad abbassare i tempo e mi scende 0.94ms ma poi sulla VM va in timeout,possibile?

615 views

5 Answers

edoardottt (8210 points)
1 3 37
answered Nov 28, 2019 by edoardottt (8,210 points)
edited Nov 28, 2019 by edoardottt

Cerca di evitare controlli inutili...se la griglia é di 10x10 pixel verdi e stai cercando quadrati di lato 5, se stai esaminando l'ottavo pixel della prima riga già sai che non può esserci un quadrato di lato 5, perché andrebbe fuori dalla griglia. Controlla anche https://q2a.di.uniroma1.it/14668/consigli-test_foto_10___6_ter___40__17871_ Spero di esserti stato d'aiuto.

a
andreaamici (1740 points)
9 12 21
commented Nov 28, 2019 by andreaamici (1,740 points)
Già ho inserito questo controllo,non so più cosa inventarmi
Franciscus (4830 points)
5 6 16
commented Nov 28, 2019 by Franciscus (4,830 points)
È un ottimo consiglio, lo dovrò implementare nel mio codice
A
Alessiorevo (1730 points)
6 6 14
answered Nov 28, 2019 by Alessiorevo (1,730 points)
Usa solo 2 cicli per controllare se ci sono colonne e righe con i lati rossi insieme
a
andreaamici (1740 points)
9 12 21
commented Nov 28, 2019 by andreaamici (1,740 points)
uso solo un ciclo..che fa sia riga che colonne
a
a.pietroluongo (11250 points)
15 38 131
answered Nov 28, 2019 by a.pietroluongo (11,250 points)
Si è possibile
a
andreaamici (1740 points)
9 12 21
commented Nov 28, 2019 by andreaamici (1,740 points)

ottimo,quindi dovrei abbassarli ancora di più per stare tranquillo?o posso inviare una proof al professore ?frown

J
Jan Rogala (7260 points)
3 4 37
answered Nov 28, 2019 by Jan Rogala (7,260 points)
Da quello che ho capito effettui prima un controllo per ogni riga se vi è un pixel verde, e poi fai qualcosa. Credo che questo qualcosa funzioni con uno scorrere quella riga per verificare che ci sia un lato del quadrato o meno. Quello che ti consiglio è di scorrere da pixel verde a pixel verde e non tutti i pixel,questo lo fai solamente conoscendo la distanza tra i vari pixel verdi che è sempre uguale, cambia solo da immagine a immagine.

Si è possibile che ancora non te lo passi sulla VM perchè magari hai un computer di gran lunga migliore rispetto alla VM, infatti i timer sono pensati per essere svolti sulla VM, non sul pc di casa.
a
andreaamici (1740 points)
9 12 21
commented Nov 28, 2019 by andreaamici (1,740 points)
Già scorro da pixel verde a pixel verde,conoscendo appunto la distanza...una funziona che ci mette parecchio sembra sia il load dell'immagine ma su quello non ci posso fare nulla,quindi devo guadagnare qualche altro ms in altri modi...
J
Jan Rogala (7260 points)
3 4 37
commented Nov 29, 2019 by Jan Rogala (7,260 points)
quando fai la verifica dei vari lati, li scorri uno alla volta o due a due? Che dato che conosci la distanza di conseguenza sai di quanti pixel è lungo il lato che cerchi
Tommaso Sgroi (12990 points)
6 11 91
answered Nov 28, 2019 by Tommaso Sgroi (12,990 points)
Penso che questo consiglio ti possa tornare utile:

Se abbiamo la nostra griglia dove V R N sono pixel rispettivamente verdi, rossi e neri

V R V R V R V N

R N R N R N R N

V R V R V N V N

R N R N R N R N

V R V R V R V N

R N R N R N R N

V R V R V R V N

R N R N R N R N

V R V R V R V N

e cerchiamo tutti i quadrati di lunghezza 2, allora non dovremmo controllare questi settori per vedere se formano quadrati.

Perché a prescindere non potranno mai formare quadrati di lunghezza = 2, limitando così l'iterazione a un gruppo più ristretto di pixel.

                         |  |  |  |

         V R V R |V R V N

         R N R N |R N R N

         V R V R |V N V N

         R N R N |R N R N

         V R V R |V R V N

         R N R N |R N R N

       ________|_______

     -->V R V R |V R V N

     -->R N R N |R N R N

     -->V R V R |V R V N
a
andreaamici (1740 points)
9 12 21
commented Nov 28, 2019 by andreaamici (1,740 points)
Già faccio anche cosi,ho dei controlli sia sulla lunghezza che sull'altezza'