Это основано на этой задаче и идее Geobits / CarpetPython по ее улучшению:
Для этой задачи расстояние между двумя числами измеряется в цикле, поэтому, например, расстояние между 0 и 999 равно 1. Это должно помешать стратегиям, таким как всегда выбирать самое низкое или наибольшее число, почти каждый раз выигрывая. Единственное другое изменение заключается в том, что самое низкое число, которое можно выбрать, теперь равно 0 вместо 1.
Я подведу итог здесь:
- Напишите функцию на Java, Python или Ruby, которая принимает три аргумента:
- количество сыгранных раундов
- количество игроков
- числа, выбранные в предыдущих раундах, как массив строк, разделенных пробелом
- Должен возвращать целое число от 0 до 999 включительно
- Оценка для программы каждого раунда является суммой квадратных корней расстояний до чисел, выбранных каждой другой программой
- Программа с наибольшим количеством очков после 100 раундов выигрывает.
- Один ответ на человека
Управляющая программа здесь:
https://github.com/KSFTmh/src/
Leaderboard
NumberOne от TheBestOne побеждает.
- NumberOne - 9700
- NumberOnePlusFourNineNine - 9623
- Древнеисторический - 9425
- FindCampers - 9259
- WowThisGameIsSoDeep - 9069
- Пробоотборник - 9014
- SabotageCampers - 8545
Видимо, саботаж моего туриста ... э-э (?) Не очень хорошо работает.
Вот полные результаты: https://github.com/KSFTmh/src/blob/master/results-3
Я думаю, что это достаточно отличается, чтобы не быть дубликатом.
Кстати, я впервые задаю вопрос на Stack Exchange, поэтому дайте мне знать, если я что-то не так делаю.