Ci viene data una lista di spigoli tra un insieme di N vertici. Ci sono almeno tre lati che si uniscono a un vertice. Dobbiamo sistemare tutti i vertici su una linea retta con le posizioni numerate da 1 a N in modo che la somma della lunghezza di tutti i bordi sia ridotta al minimo.
La lunghezza di un bordo a, b è la differenza tra le posizioni dei vertici 'a' e 'b' sulla linea. Ci sono almeno 12 vertici.
L'algoritmo dovrebbe funzionare entro il limite di tempo di 1 secondo.
Ho provato a risolvere questo problema provando tutte le permutazioni e scoprendo il costo totale di ogni spigolo. Ma questo funziona solo per 8 dei 12 test al problema. Perché nel peggiore dei casi il numero totale di operazioni è proporzionale a 12! * 18.
La dimensione di N è molto piccola quindi penso che la soluzione potrebbe essere simile a provare tutte le possibilità.
Non ho bisogno della soluzione completa a questo problema perché voglio provare a farlo da solo ma solo un suggerimento su come posso ottimizzare il mio algoritmo in modo che funzioni entro il limite di tempo.
Grazie.