При организации рассадки участников олимпиады в нескольких аудиториях можно использовать следующий алгоритм: 3
- Сортировать участников по какому-нибудь принципу, например, по фамилии, имени и отчеству. 3
- Задать начальный член хаотического ряда. 3
- Каждому участнику поставить в соответствие следующий член хаотического ряда. 3 Все участники сортируются по возрастанию соответствующего члена хаотического ряда. 3
- Назначить каждому участнику в отсортированной последовательности аудиторию, ряд и место. 3 Это можно сделать тремя вложенными циклами: по всем аудиториям, по рядам в аудитории и по местам в ряду. 3
- Проверить выполнение ограничений на рассадку. 3 Например, если запрещено сажать рядом представителей одной школы, то нужно убедиться, что образовательное учреждение для каждого j-го места i-го ряда не совпадает с образовательным учреждением для j+1 места i+1 ряда. 3
- Если ограничение не выполняется, то перейти к пункту 3, иначе — к пункту 7. 3
- Итоговая последовательность участников сортируется в требуемом порядке, например, по аудитории и по фамилии, имени и отчеству. 3
При проведении олимпиады важно минимизировать возможность контакта участников между собой и с другими лицами, которые могли бы помочь им в решении заданий. 5 Как правило, это означает выделение каждому участнику отдельного стола или размещение участников иным образом, предполагающим значительное расстояние между ними. 5