Italian Queue

La mia idea è semplice: tengo un vettore di pair in cui inserisco, per ogni posto vuoto della matrice rappresentate la stanza( carattere ‘-’), la coppia con distanza euclidea di questo posto dal Punto di Interesse e indice che identitica questo posto nella matrice(in realta la colonna e la riga appiattiti in un solo valore).


 A questo punto ordino il miottore per distanze decrescenti. 

Adesso eseguo questa operazione per un numero di volte pari a quello delle persone che devono entrare: estraggo un pair dal back del mio vettore e cambio il suo corrispondente indice nella matrice da ‘-’ a ‘X’.

 Provandolo in locale per i primi testcase funziona, ma quando invio mi da 0/100, i primi 5 mi dice “numero di persone sbagliato” e gli altri “output malformato”, ma guardando i testcase che provo in locale non sembra.
Oltre a cio, come algoritmo vi sembra corretto?

P.S.: Dopo andando a guardare nel file con la descrizione dei problemi, ho visto che questo problema lo identificava come una visita in ampiezza, cioè immagino partire dal punto di interesse e riempire di persone tutti i nodi piu vicini, ma come si potrebbe gestire il fatto delle distanze?
Cioè che se tu sei al punto 0,0 hai che il punto 1,1 è piu vicino a te del punto 2,0 anche se in un possibile grafo sono entrambi a due nodi di distanza?

Il mio algoritmo è come il tuo, solo che ho un vettore di pair< float, pair<int,int> > per salvarmi la riga e la colonna. Facevo un errore prima di fsre 100/100, cioè usavo un vector e non lo resettavo per ogni testcase, quindi mi prendeva solo il primo. Ora non so perché a te non funziona, prova a postare il codice.

In che senso non lo resettavi per ogni testcase? Non devi inviare un file diverso per ogni testacase? Il primo che apre input_000, il secondo input_001 ecc…?

@EmanueleRossi: non devi mandare il codice, bensì l’output calcolato su ciascun input :slight_smile:


Gli input dovrebbero essere disponibili da scaricare sulla pagina del task.
In che senso non lo resettavi per ogni testcase? Non devi inviare un file diverso per ogni testacase? Il primo che apre input_000, il secondo input_001 ecc...?

EmanueleRossi

Sì, però facevo tutto nello stesso programma. Ripetevo il ciclo per 10 volte aprendo i file da input_000 a input_009 e scrivendo da output_000 a output_009. Però mi dimenticavo di resettare il vector ad ogni passo del ciclo, quindi rimanevano le posizioni dei testcase precedenti.

A proposito di questo problema, non ci sono vincoli di tempo e memoria?
 

Non devi caricare il programma, ma solo i risultati (i vari output.txt).

Quindi non ci sono vincoli di tempo/memoria, dato che non deve essere sottoposto nessun programma

Ahhhh, tutto chiaro adesso, grazie :slight_smile:

Adesso quando carico i file e spingo ‘submit’ non accade nulla, anche se provo piu volte, poi se spingo f5(aggiorna browser) mi appaiono tanti errori 404 a destra della pagina quante volte ho cliccato su submit, con scritto:“Verifica che la tua connessione internet sia funzionante”. Ma in realtà funziona benissimo…


P.S. Qualcuno ha idee per la soluzione con la breadth-first-search?
Adesso quando carico i file e spingo 'submit' non accade nulla, anche se provo piu volte, poi se spingo f5(aggiorna browser) mi appaiono tanti errori 404 a destra della pagina quante volte ho cliccato su submit, con scritto:"Verifica che la tua connessione internet sia funzionante". Ma in realtà funziona benissimo...

EmanueleRossi

Quanto occupano i file che stai provando ad inviare? Può darsi che ci metta parecchio a fare l'upload. Se è questo il problema (e potrebbe essere) ti suggerisco di zipparli e mandare lo zip.
Adesso quando carico i file e spingo 'submit' non accade nulla, anche se provo piu volte, poi se spingo f5(aggiorna browser) mi appaiono tanti errori 404 a destra della pagina quante volte ho cliccato su submit, con scritto:"Verifica che la tua connessione internet sia funzionante". Ma in realtà funziona benissimo...

EmanueleRossi

Quanto occupano i file che stai provando ad inviare? Può darsi che ci metta parecchio a fare l'upload. Se è questo il problema (e potrebbe essere) ti suggerisco di zipparli e mandare lo zip.

wil93

Funziona anche con l'archivio .tar o .tar.gz di linux o solo .zip? EDIT: Ok ho fatto uno zip anche in ubuntu :)