Жребий Крижановского
Версия для печати

Правила игры

Будем считать, что в игре участвует n игроков (n > 2). Каждый игрок независимо от других называет натуральное число в диапазоне от 1 до n + 1 включительно (при игре "вживую" игроки пишут числа на бумажках, а затем их оглашают). Затем среди названных чисел выбираются те, которые были названы только одним каким-либо игроком. Выигрывает игрок, написавший наименьшее из этих выбранных чисел, причем количество выигранных им очков равно написанному им числу.

Пример: играли 7 игроков и были названы числа: 5 1 1 3 1 2 2

В этом случае три очка выиграл четвертый игрок, так как его тройка меньше, чем пятерка, названная первым игроком, а все остальные числа (1 и 2) были названы больше, чем одним игроком.

Если ни одно из названных чисел не оказалось уникальным, то объявляется ничья и очки никому не присуждаются.

Описанная процедура представляет собой 1 тур игры. Турнир состоит из нескольких туров, победителем считается тот, кто наберет максимальную сумму очков по всем турам.

Требования к программам-участницам

К участию в турнире допускаются программы, функционирующие в среде MS DOS, написанные на любом языке программирования. Программы должны быть в виде .exe или .com файлов. При вызове программе передаются два параметра. Первый — число n (количество программ- участниц), второй — номер тура.

Программа должна возвращать результат в качестве кода возврата. Например, если результат в программе получен как значение переменной x, то программа на языке Паскаль должна заканчиваться оператором halt(x), а программа на языке Си — оператором return(x).

При работе программы ей гарантируется не менее 300 кб оперативной памяти. Время работы программы-участницы — не более 1 сек на 486 процессоре с тактовой частотой 66 МГц.

Программам-участницам запрещается:
1) Осуществлять какие-бы то ни было операции ввода вывода (в том числе не забывайте, пожалуйста, убирать из программ отладочные выводы на экран).
2) Использовать верхнюю память
3) Менять или устанавливать значения переменных окружения DOS
4) Оставлять в памяти TSR-следы своей деятельности
5) Менять вектора прерываний
6) Какие бы то ни было операции с таймером
7) Хулиганить (термин не определен, но организаторам понятен :-).

Нарушители дисквалифицируются! Учтите, что жаловаться все равно некому :-)