Інтернет не вдався. Нападів DDoS зараз широко розповсюджений та поширений. Ви повинні взяти під контроль та відремонтувати Інтернет.
Кожен бот контролюватиме 20 вузлів у цій мережі. Кожен вузол або активний, або безпечний , має власника і має силу, яка починається з 2. Кожен активний вузол підключений до всіх інших активних вузлів.
Щоразу, ви отримаєте список всіх активних вузлів з їх силою. Для кожного з активних вузлів, якими ви володієте, ви:
- Позначте активний вузол, на який потрібно передати всю силу, або
- Збережіть і збільшуйте її силу
Тоді відбувається по порядку :
- Вузол, який вирішив зберегти свої сили, збільшить силу на 1.
- Усі вузли, які вирішили перенести свою силу, одночасно перенесуть всю свою силу на новий вузол.
- Якщо вузол передав силу від ворожего вузла, настане атака. Якщо ворожий власник колективно передає більше сили, ніж початковий власник (та всі інші нападники), то той ворог стає новим власником. Сила цього вузла потім стає силою нападника. Якщо є міцність на міцність, то власника вибирають випадковим чином.
- Усі вузли, залишені без будь-якої сили, будуть вважатися безпечними і дають 1 бал власнику.
Після 100 ігор на 100 оборотів виграє власник з найбезпечнішими вузлами в усіх іграх. EDIT: Я змінив його з 2000 на 100 оборотів, оскільки виявилося, що останні 1900 оборотів були марними
IO
Вам буде передано список активних вузлів (через аргументи командного рядка), наприклад:
F20 F4 E7 E2 E20 F2
F
позначає, що вузол є дружнім вузлом, і E
позначає, що вузол - ворог.
Для кожного з ваших дружніх вузлів слід повернути дію (через STDOUT) на зразок наступного:
0,0 1,3 5,0
Вище сказане означає, що ви хочете збільшити силу першого вузла, використовувати другий вузол для атаки на четвертий вузол, і ваш останній вузол передасть свою силу першому вузлу (і якщо ніхто не атакує його, він стане безпечним вузлом ).
Після повернення програма повинна вийти з програми.
Табло
акумулятор отримав 3240 балів
класний отримав 2370 балів
манекен отримав 2262 бали
random_bot отримав 1603 бали
smarter_random_bot отримав 1319 балів
steady_bot отримав 1097 балів
Контролер можна знайти тут: https://github.com/nathanmerrill/NetAttack