Skip to content

m20-sch57/lowest-unique-number

Repository files navigation

Lowest Unique Number game

Репозиторий для проведения соревнования стратегий для игры "lowest-unique-number".

Правила игры

Игра заключается в следующем: каждый из N игроков выдаёт натуральное число от $0$ до $10^6-1$, после чего игрок с минимальным уникальным числом признаётся победителем (если уникальных чисел нет, то объявляется ничья). Игра повторяется TURNS раз, причём после каждого хода, кроме последнего, игрокам рассылаются ответы других игроков.

Формат взаимодействия стратегии

В первой строке входных данных содержатся три целых числа N, k, TURNS – кол-во игроков, номер вашей стратегии (от $0$ до $N-1$), кол-во ходов. Далее TURNS раз повторяется следующее:

  1. Стратегия выводит своё число (от $0$ до $10^6-1$).
  2. Если ход не последний, то стратегия должна прочитать список из N чисел, разделённых пробелом – ходы всех игроков.

Ваша программа должна быть исполняемым файлом под Ubuntu >=20.04.

После каждого хода надо не забывать сбрасывать буфер вывода! В C++ это вывод std::endl, в Python – по умолчанию, если дописать хедер #!/usr/bin/python3 -u.

Пример стратегии на языке Python

#!/usr/bin/python3 -u

import random

n, k, cnt_turns = map(int, input().split())
for turn in range(cnt_turns):
    print(random.randint(0, 3))
    if turn != cnt_turns - 1:
        turns = list(map(int, input().split()))

Запуск стратегий

Пусть N0 – кол-во отправленных стратегий. Турнир происходит в номинациях с $N = 3, ..., N0$ игроками. Каждый турнир состоит из N_ROUNDS раундов, в которых N игроков выбираются случайно. За каждую победу даётся 1 очко, а результат стратегии – это отношение набранных ею очков к максимальному возможному.

c backend

TODO

c backend API

TODO


python plotter for one round

TODO


python frontend for running game of many rounds

TODO

About

Lowest Unique Number game

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5