der fehler ist korrigiert .. hatte in der ausgabeschleife (max-1) statt z.size() stehen ... was datz fuehrte, das der index des arrays ueber die grenzen gehen konnte

der algorithmus ist ganz einfach ...

In eine Liste schreibe ich alle moeglichen Kombinationen, also AB, AC, ... AR, BC, BD, BR, ..., PQ, PR, QR -> Daher die Schleife i=0, i< Max-1 und j=i+1, j< Max

mun kommt die auswertung der Tage

Ich mache eine Bitmaske mit genau so vielen stellen, wie mannschaften existieren und setze alles auf 1.

Dann nehme ich mir die erstbeste Manschaftspaarung heraus, pruefe in der bitmaske, ob kein der beteiligten Mannschaften schon gespielt hat (gespielte werden mit 0 versehen). Ist das der Fall, trage ich die Mannschaft in die Liste fuer den Tag ein und entferne sie aus dem Paarungsreservoir. Ansonsten belasse ich die Kombination unveraendert, und gehe zur naechsten. Das wiederhole ich so lange, bis ich entweder Max/2 Paarungen fuer den Tag habe, oder es keine Paarung mehr gibt, die man noch eintragen koennte fuer den Tag.

Das wird solange wiederholt, bis das Kombinationsreservoir leer ist.