Исходные данные есть – номера сейвов, соответствующие упорядоченному по убыванию рейтингу, который в этом турнире определялся силой (power) армии:Allegro писал(а):Пытался понять принцип распределения, предложенный тобой ранее..
Не получается, ввиду отсутствия некоторых исходных данных: все же не ясно до конца как формируются группы. Можешь описать подробнее?
Количество групп = 4 (определяет ведущий турнира).
Дельта = 2*4 группы -1 = 7.
Расы героев: варвары (в) - 12, демоны (д) - 6, люди (л) - 3, маги (м) – 2.
1) Распределение места 1 в группах: I -1в. II – 2в, III – 3в, IV -4д
Это не должно вызвать вопросы
2) Распределение места 2 в группах:
Группа IV.
Номер последнего места в этой группе = 4.
Представительство рас:
- Ранг 1: 0 варваров, людей и магов;
- Ранг 2: 1 демон.
Есть нераспределённые с номером < 4? Нет.
Максимально возможный номер, который можно добавить в эту группу: 4 + дельта = 4 + 7 = 11.
Из номеров 5-11 отбираем нераспределённые: 5д, 6д, 7л, 8в, 9в, 10л, 11д.
Перебор 1: 5д – раса ранга 1? НЕТ 6д – раса ранга 1? НЕТ, 7л – раса ранга 1? ДА.
2-е место группы IV: 7л.
Группа III.
Номер последнего места в этой группе = 3.
Представительство рас:
- Ранг 1: 0 демонов, людей и магов;
- Ранг 2: 1 варвар.
Есть нераспределённые с номером < 3? Нет.
Максимально возможный номер, который можно добавить в эту группу: 3 + дельта = 3 + 7 = 10.
Из номеров 4-10 отбираем нераспределённые: 5д, 6д, 8в, 9в, 10л.
Перебор 1: 5д – раса ранга 1? ДА.
2-е место группы III: 5д.
Группа II.
Номер последнего места в этой группе = 2.
Представительство рас:
- Ранг 1: 0 демонов, людей и магов;
- Ранг 2: 1 варвар.
Есть нераспределённые с номером < 2? Нет.
Максимально возможный номер, который можно добавить в эту группу: 2 + дельта = 2 + 7 = 9.
Из номеров 3-9 отбираем нераспределённые: 6д, 8в, 9в.
Перебор 1: 6д – раса ранга 1? ДА.
2-е место группы III: 6д.
Группа I.
Номер последнего места в этой группе = 1.
Представительство рас:
- Ранг 1: 0 демонов, людей и магов;
- Ранг 2: 1 варвар.
Есть нераспределённые с номером < 1? Нет.
Максимально возможный номер, который можно добавить в эту группу: 1 + дельта = 1 + 7 = 8.
Из номеров 2-8 отбираем нераспределённые: 8в.
Перебор 1: 8в – раса ранга 1? НЕТ. Есть ещё? НЕТ.
2-е место группы I: 8в.
Текущее распределение:
1в 2в 3в 4д
8в 6д 5д 7л
3) Распределение места 3 в группах
Группа I.
Номер последнего места в этой группе = 8.
Представительство рас:
- Ранг 1: 0 демонов, людей и магов;
- Ранг 2: 2 варвара.
Есть нераспределённые с номером < 8? Нет.
Максимально возможный номер, который можно добавить в эту группу: 8 + дельта = 8 + 7 = 15.
Из номеров 9-15 отбираем нераспределённые: 9в, 10л, 11д, 12в, 13м, 14д, 15м.
Перебор 1: 9в – раса ранга 1? НЕТ 10л – раса ранга 1? ДА.
3-е место группы I: 10л.
Группа II.
Номер последнего места в этой группе = 6.
Представительство рас:
- Ранг 1: 0 людей и магов;
- Ранг 2: 1 варвар и демон.
Есть нераспределённые с номером < 6? Нет.
Максимально возможный номер, который можно добавить в эту группу: 6 + дельта = 6 + 7 = 13.
Из номеров 7-13 отбираем нераспределённые: 9в, 11д, 12в, 13м.
Перебор 1: 9в – раса ранга 1? НЕТ 11д – раса ранга 1? НЕТ 12в – раса ранга 1? НЕТ 13м – раса ранга 1? ДА.
3-е место группы II: 13м.
Группа III.
Номер последнего места в этой группе = 5.
Представительство рас:
- Ранг 1: 0 людей и магов;
- Ранг 2: 1 варвар и демон.
Есть нераспределённые с номером < 5? Нет.
Максимально возможный номер, который можно добавить в эту группу: 5 + дельта = 5 + 7 = 12.
Из номеров 6-12 отбираем нераспределённые: 9в, 11д, 12в.
Перебор 1: 9в – раса ранга 1? НЕТ 11д – раса ранга 1? НЕТ 12в – раса ранга 1? НЕТ
Перебор 2: 9в – раса ранга 2? ДА.
3-е место группы III: 9в.
Группа IV.
Номер последнего места в этой группе = 7.
Представительство рас:
- Ранг 1: 0 варваров и магов;
- Ранг 2: 1 демон и человек.
Есть нераспределённые с номером < 7? Нет.
Максимально возможный номер, который можно добавить в эту группу: 7 + дельта = 7 + 7 = 14.
Из номеров 8-14 отбираем нераспределённые: 11д, 12в, 14д.
Перебор 1: 11д – раса ранга 1? НЕТ 12в – раса ранга 1? ДА.
3-е место группы IV: 12в.
Текущее распределение:
1в 2в 3в 4д
8в 6д 5д 7л
10л 13м 9в 12в
4) Распределение места 4 в группах
Группа IV.
Номер последнего места в этой группе = 12.
Представительство рас:
- Ранг 1: 0 магов;
- Ранг 2: 1 демон, человек и варвар.
Есть нераспределённые с номером < 12? ДА: 11д.
4-е место группы IV: 11д.
Группа III.
Номер последнего места в этой группе = 9.
Представительство рас:
- Ранг 1: 0 людей и магов;
- Ранг 2: 1 демон;
- Ранг 3: 2 варвара.
Есть нераспределённые с номером < 9? Нет.
Максимально возможный номер, который можно добавить в эту группу: 9 + дельта = 9 + 7 = 16.
Из номеров 10-16 отбираем нераспределённые: 14д, 15м, 16в.
Перебор 1: 14д – раса ранга 1? НЕТ 15м – раса ранга 1? ДА.
4-е место группы III: 15м.
Группа II.
Номер последнего места в этой группе = 13.
Представительство рас:
- Ранг 1: 0 людей;
- Ранг 2: 1 варвар, демон и маг;
Есть нераспределённые с номером < 13? Нет.
Максимально возможный номер, который можно добавить в эту группу: 13 + дельта = 13 + 7 = 20.
Из номеров 14-20 отбираем нераспределённые: 14д, 16в, 17в, 18л, 19д, 20в.
Перебор 1: 14д – раса ранга 1? НЕТ 16в – раса ранга 1? НЕТ 17в – раса ранга 1? НЕТ 18л – раса ранга 1? ДА.
4-е место группы II: 18л.
Группа I.
Номер последнего места в этой группе = 10.
Представительство рас:
- Ранг 1: 0 демонов и магов;
- Ранг 2: 1 человек;
- Ранг 3: 2 варвара.
Есть нераспределённые с номером < 10? Нет.
Максимально возможный номер, который можно добавить в эту группу: 10 + дельта = 10 + 7 = 17.
Из номеров 11-17 отбираем нераспределённые: 14д, 16в, 17в.
Перебор 1: 14д – раса ранга 1? ДА.
4-е место группы I: 14д.
Текущее распределение:
1в 2в 3в 4д
8в 6д 5д 7л
10л 13м 9в 12в
14д 18л 15м 11д
5) Распределение места 5 в группах
Группа I.
Номер последнего места в этой группе = 14.
Представительство рас:
- Ранг 1: 0 магов;
- Ранг 2: 1 демон и человек;
- Ранг 3: 2 варвара.
Есть нераспределённые с номером < 14? Нет.
Максимально возможный номер, который можно добавить в эту группу: 14 + дельта = 14 + 7 = 21.
Из номеров 15-21 отбираем нераспределённые: 16в, 17в, 19д, 20в, 21в
Перебор 1: 16в – раса ранга 1? НЕТ 17в – раса ранга 1? НЕТ 19д – раса ранга 1? НЕТ 20в – раса ранга 1? НЕТ 21в – раса ранга 1? НЕТ.
Перебор 2: 16в – раса ранга 2? НЕТ 17в – раса ранга 2? НЕТ 19д – раса ранга 2? ДА.
5-е место группы I: 19д.
ИТД.
В общем, описан алгоритм "под ключ".