introduzione
Quasi tutti hanno familiarità con il Traveller Salesman Problem (TSP). Il compito è, dato un elenco di Ncittà, trovare il ciclo hamiltoniano minimo , ovvero il percorso più breve che visita ogni città e torna al punto di partenza. Non è questa la sfida. Questa sfida è implementare la soluzione di Chuck Norris al TSP:
Chuck Norris ha risolto in
O(1)tempo il problema del commesso viaggiatore : suddividere il commesso in N pezzi; calciare ogni pezzo in una città diversa.
Sfida
Per risolvere il TSP in questo modo, abbiamo bisogno di un commesso sufficientemente duraturo che non eviterà frivolezze come lo smembramento; un certo numero di città da visitare; un insieme di prodotti da vendere; un metodo concreto di smembramento; e un calcolo per il punteggio.
specificazione
- Città
Nè il numero di citazioni che il nostro venditore visiterà
- Venditore
- Il programma o la funzione principale
- Scritto in lingua
X - Con lunghezza mod
Nuguale a0
- Prodotti
- Dismemberment
- Affettare il commesso in
Npezzi continui di uguale lunghezza - Ogni pezzo deve essere una funzione o un programma valido nella lingua
X
- Affettare il commesso in
- Produzione
- Quando eseguito, il venditore dovrebbe produrre
Chuck Norrise i pezzi tagliati dovrebbero produrre ciascuno un prodotto distinto - È accettabile solo uno spazio bianco finale aggiuntivo
- Quando eseguito, il venditore dovrebbe produrre
- punteggio
- La lunghezza
Ldel venditore in byte divisa per il numero di cittàN, quadrata. Score = L/(N*N)- Il punteggio più piccolo vince
- Ti preghiamo di includere 3 cifre significative quando pubblichi il tuo punteggio decimale
- La lunghezza
Esempi
- Questo venditore visita 3 città così
N=3e ha una lunghezza di 9 cosìL=9. Quindi il punteggio per questa risposta sarebbeS = 9 / (3 * 3) = 9/9 = 1.- Si noti che il venditore e ogni pezzo tagliato (di cui ce ne sono 3), dovrebbero essere tutti programmi o funzioni validi nella stessa lingua.
Program -> Output
------- ------
aaaBBBccc -> Chuck Norris
aaa -> Helium
BBB -> Iridium
ccc -> Tennessine
N=4eL=20cosìS=20/16=1.25
Program -> Output
------- ------
aaaaaBBBBBcccccDDDDD -> Chuck Norris
aaaaa -> Hydrogen
BBBBB -> Cadmium
ccccc -> Mercury
DDDDD -> Iron

ElementDataammessi incorporati come quelli di Mathematica ? (Dubito che salverà molto, ma non lo so.)