Internet ha fallito. Gli attacchi DDoS sono ora dilaganti e diffusi. Sta a te prendere il controllo e riparare Internet.
Ogni bot controllerà 20 nodi in questa rete. Ogni nodo è attivo o sicuro , ha un proprietario e ha un punto di forza, che inizia da 2. Ogni nodo attivo è connesso a tutti gli altri nodi attivi.
Ad ogni turno, riceverai un elenco di tutti i nodi attivi con la loro forza. Per ciascuno dei nodi attivi che possiedi, puoi:
- Designare un nodo attivo su cui si desidera trasferire l' intera forza o
- Salva e aumenta la sua forza
Poi si verifica quanto segue in ordine :
- Un nodo che sceglie di salvare la sua forza aumenterà la sua forza di 1.
- Tutti i nodi che scelgono di trasferire la propria forza trasferiranno contemporaneamente tutta la loro forza al nuovo nodo.
- Se a un nodo è stata trasferita la forza da un nodo nemico, ne conseguirà un attacco. Se un proprietario nemico trasferisce collettivamente più forza del proprietario originale (e di tutti gli altri attaccanti), quel nemico diventa il nuovo proprietario. La forza di quel nodo diventa quindi la forza dell'attaccante. Se c'è un pareggio per la forza, il proprietario verrà scelto a caso.
- Tutti i nodi lasciati senza alcun punto di forza verranno considerati sicuri e assegneranno 1 punto al proprietario.
Dopo 100 partite da 100 turni, vince il proprietario con i nodi più sicuri in tutte le partite. EDIT: L'ho cambiato da 2000 a 100 turni, poiché alla fine gli ultimi 1900 giri erano inutili
IO
Verrà passato l'elenco dei nodi attivi (tramite args della riga di comando) come il seguente:
F20 F4 E7 E2 E20 F2
F
indica che il nodo è un nodo amico e E
indica che il nodo è nemico.
Per ciascuno dei tuoi nodi amici, dovresti restituire un'azione (tramite STDOUT) come il seguente:
0,0 1,3 5,0
Quanto sopra significherebbe che vuoi aumentare la tua forza del primo nodo, usare il tuo secondo nodo per attaccare il quarto nodo, e il tuo ultimo nodo trasferirà la sua forza nel primo nodo (e se nessuno lo attacca, diventerà un nodo sicuro ).
Dopo il ritorno, il programma dovrebbe essere chiuso.
tabellone segnapunti
l'accumulatore ha ottenuto 3240 punti
di classe ha ottenuto 2370 punti
dumbot ha ottenuto 2262 punti
random_bot ha ottenuto 1603 punti
smarter_random_bot ha ottenuto 1319 punti
steady_bot ha ottenuto 1097 punti
Il controller può essere trovato qui: https://github.com/nathanmerrill/NetAttack