Рассмотрим следующие результаты:
Winner Loser
Adam John
Bob John
John Charles
John David
John Ernest
John Frank
John George
Мы подсчитываем потери и сортируем в порядке возрастания:
Player Losses
Adam 0
Bob 0
Charles 1
David 1
Ernest 1
Frank 1
George 1
John 2
Ваш алгоритм делит игроков следующим образом:
Winners Losers
Adam Ernest
Bob Frank
Charles George
David John
Ошибки: (Чарльз, Джон) и (Дэвид, Джон);Есть две ошибки.Вместо этого рассмотрим следующее деление:
Winners Losers
Adam David
Bob Ernest
Charles Frank
John George
В этом делении нет ошибки: нет победителя, проигравшего проигравшему.Это лучшее разделение с меньшим количеством ошибок;поэтому ваш алгоритм, как указано, не является оптимальным.
Основная проблема вашего алгоритма заключается в том, что он учитывает только количество потерь;Плодовитые игроки могут показаться хуже в этом алгоритме, чем на самом деле, просто потому, что у них больше потерь, чем у других, несмотря на то, что, возможно, у них гораздо больше выигрышей.