A internet falhou. Os ataques DDoS agora são galopantes e generalizados. Cabe a você assumir o controle e reparar a Internet.
Cada bot controlará 20 nós nesta rede. Cada nó é ativo ou seguro , possui um proprietário e uma força, que começa em 2. Todo nó ativo é conectado a todos os outros nós ativos.
A cada turno, você receberá uma lista de todos os nós ativos com suas forças. Para cada um dos nós ativos que você possui, você:
- Designe um nó ativo que você deseja transferir todo o seu força ou
- Economize e aumente sua força
Então, o seguinte acontece em ordem :
- Um nó que optar por salvar sua força aumentará sua força em 1.
- Todos os nós que optarem por transferir sua força transferirão simultaneamente toda a sua força para o novo nó.
- Se um nó foi transferido força de um nó inimigo, um ataque ocorrerá. Se um dono inimigo transferir coletivamente mais força do que o proprietário original (e todos os outros atacantes), esse inimigo se tornará o novo proprietário. A força desse nó se torna a força do atacante. Se houver um empate por força, o proprietário será escolhido aleatoriamente.
- Todos os nós deixados sem força serão considerados seguros e atribuem 1 ponto ao proprietário.
Após 100 jogos de 100 turnos, o proprietário com os nós mais seguros em todos os jogos vence. EDIT: Eu mudei de 2000 para 100 voltas, pois as últimas 1900 foram inúteis
IO
Você receberá a lista de nós ativos (via args da linha de comando), como a seguir:
F20 F4 E7 E2 E20 F2
F
designa que o nó é um nó amigável e E
designa que o nó é um inimigo.
Para cada um dos seus nós amigáveis, você deve retornar uma ação (via STDOUT) da seguinte maneira:
0,0 1,3 5,0
O exposto acima significa que você deseja aumentar sua força do primeiro nó, usar seu segundo nó para atacar o quarto nó e seu último nó transferirá sua força no primeiro nó (e se ninguém o atacar, ele se tornará um nó seguro )
Depois de retornar, seu programa deve sair.
Placar
acumulador tem 3240 pontos
elegante conseguiu 2370 pontos
dumbot obteve 2262 pontos
random_bot obteve 1603 pontos
smarter_random_bot obteve 1319 pontos
stead_bot obteve 1097 pontos
O controlador pode ser encontrado aqui: https://github.com/nathanmerrill/NetAttack