Internet zawiódł. Ataki DDoS są teraz powszechne i powszechne. Od Ciebie zależy, czy przejmiesz kontrolę i naprawisz internet.
Każdy bot będzie kontrolował 20 węzłów w tej sieci. Każdy węzeł jest aktywny lub bezpieczny , ma właściciela i ma siłę, która zaczyna się od 2. Każdy aktywny węzeł jest połączony ze wszystkimi innymi aktywnymi węzłami.
W każdej turze otrzymasz listę wszystkich aktywnych węzłów z ich siłą. Dla każdego z aktywnych aktywnych węzłów:
- Wskaż aktywny węzeł, który chcesz przenieść cały siłę, lub
- Zapisz i zwiększ jego siłę
Następnie dodaje się dzieje w kolejności :
- Węzeł decydujący się na zapisanie swojej siły zwiększy ją o 1.
- Wszystkie węzły decydujące się na przeniesienie swojej siły będą jednocześnie przenosić całą swoją siłę do nowego węzła.
- Jeśli węzeł został przeniesiony z węzła wroga, nastąpi atak. Jeśli właściciel wroga zbiorowo przenosi więcej siły niż pierwotny właściciel (i wszyscy inni napastnicy), wówczas ten wróg staje się nowym właścicielem. Siła tego węzła staje się wtedy siłą atakującego. Jeśli jest remis, siła zostanie wybrana losowo.
- Wszystkie węzły pozostawione bez siły zostaną uwzględnione bezpieczne i dają 1 punkt właścicielowi.
Po 100 grach na 100 tur wygrywa właściciel z najbezpieczniejszymi węzłami we wszystkich grach. EDYCJA: Zmieniłem go z 2000 na 100 zwojów, ponieważ okazało się, że ostatnie 1900 zwojów były bezużyteczne
IO
Zostanie Ci przekazana lista aktywnych węzłów (za pomocą argumentów wiersza poleceń) w następujący sposób:
F20 F4 E7 E2 E20 F2
F
oznacza, że węzeł jest węzłem przyjaznym, oraz E
oznacza, że węzeł jest wrogiem.
Dla każdego przyjaznego węzła powinieneś zwrócić akcję (poprzez STDOUT) w następujący sposób:
0,0 1,3 5,0
Powyższe oznaczałoby, że chcesz zwiększyć swoją siłę pierwszego węzła, użyć drugiego węzła do zaatakowania czwartego węzła, a twój ostatni węzeł przeniesie jego siłę do pierwszego węzła (a jeśli nikt go nie zaatakuje, stanie się bezpiecznym węzłem ).
Po powrocie program powinien zostać zamknięty.
Tablica wyników
akumulator uzyskał 3240 punktów
z klasą zdobył 2370 punktów
głupi otrzymał 2262 punktów
random_bot zdobył 1603 punktów
smarter_random_bot zdobył 1319 punktów
steady_bot zdobył 1097 punktów
Kontroler można znaleźć tutaj: https://github.com/nathanmerrill/NetAttack