El Internet ha fallado. Los ataques DDoS ahora son rampantes y generalizados. Depende de usted tomar el control y reparar Internet.
Cada bot controlará 20 nodos en esta red. Cada nodo es activo o seguro , tiene un propietario y tiene una fuerza, que comienza en 2. Cada nodo activo está conectado a todos los demás nodos activos.
Cada turno, recibirá una lista de todos los nodos activos con su fuerza. Para cada uno de los nodos activos que posee, usted:
- Designe un nodo activo al que desee transferir toda su fuerza, o
- Ahorra y aumenta su fuerza
Entonces sucede lo siguiente en orden :
- Un Nodo que elija guardar su fuerza aumentará su fuerza en 1.
- Todos los nodos que eligen transferir su fuerza transferirán simultáneamente toda su fuerza al nuevo nodo.
- Si a un nodo se le transfirió la fuerza de un nodo enemigo, se producirá un ataque. Si un propietario enemigo transfiere colectivamente más fuerza que el propietario original (y todos los demás atacantes), ese enemigo se convierte en el nuevo propietario. La fuerza de ese nodo se convierte en la fuerza del atacante. Si hay un empate para la fuerza, entonces el propietario será elegido al azar.
- Todos los nodos que queden sin fuerza se considerarán seguros y otorgan 1 punto al propietario.
Después de 100 juegos de 100 turnos, gana el propietario con los nodos más seguros en todos los juegos. EDITAR: lo cambié de 2000 a 100 turnos, ya que terminó siendo inútil los últimos 1900 turnos
IO
Se le pasará la lista de nodos activos (a través de argumentos de línea de comando) como el siguiente:
F20 F4 E7 E2 E20 F2
F
designa que el nodo es un nodo amigo y E
designa que el nodo es un enemigo.
Para cada uno de sus nodos amigos, debe devolver una acción (a través de STDOUT) como la siguiente:
0,0 1,3 5,0
Lo anterior significaría que desea aumentar su fuerza del primer nodo, usar su segundo nodo para atacar al cuarto nodo, y su último nodo transferirá su fuerza al primer nodo (y si nadie lo ataca, se convertirá en un nodo seguro )
Después de regresar, su programa debería salir.
Marcador
acumulador consiguió 3240 puntos
elegante consiguió 2370 puntos
dumbot consiguió 2262 puntos
random_bot obtuvo 1603 puntos
smarter_random_bot obtuvo 1319 puntos
steady_bot obtuvo 1097 puntos
El controlador se puede encontrar aquí: https://github.com/nathanmerrill/NetAttack