Я считаю что в игре есть 3 типа классов.
1 - Физы (вары и луки)
2 - Кастеры (маги и жрецы)
3 - Суппорты (джаги и блоки)
Суть предложения. Формулировать команды начиная с физов. Что я имею ввиду. Допустим на турнир зарегистрировалось 20 персонажей, с них 7 физов, 5 кастеров и 8 супортов.
То берем всех физов, создаем кол-ство команд равное кол-ству физов. Потом делим физов по командам отталкиваясь от турнирному рейтинга.
Команды созданы, физы там уже есть. Осталось добавить кастеров и супортов. Фильтруем кастеров и супортов по турнирному рейтингу и добавляем их до команд физов.
В случае если закончились кастеры то добавляем в команду еще одного сапорта или наоборот если закончились сапорты то добавляем кастера.
Если физов больше (кастеры + супорты /2) то докидываем в оставшиеся команды физов.
В двух словах суть предложения это сделать что бы у всех командах были физы, и бои были +- ровные.