Hm, also mir kam nach einiger Überlegungszeit eine Idee, ich kann aber nicht garantieren, ob sie richtig ist. Sie hat sich nach einigen Tests mit 6 Mannschaften bewährt.

Eine besonders Geniale Idee ist es nicht, obs wirklich Mathematisch ist, weiß ich auch nicht.
Wenn man das ganze in einem Programm schreibt und es geschickt macht, kann es recht kurz sein.

Ich versuch nun einfach mal zu beschreiben wie das Programm vorgeht.
In dem Programm wird btw. viel mit Mengen gearbeitet, man kann zum Beispiels "Sets" verwenden um das ganze umzusetzen.

Erstmal: Es gibt 18 Mannschaften.
JEDE Mannschaft hat eine Menge namens "Gespielt". In dieser Menge wird eingespeichert, gegen welche Mannschaften diese Manschaft in der HinRunde bereits gespielt hat.

Und dann gibt es die Menge "Tag_Gespielt". In dieser Menge wird eingespeichert welche Mannschaft an diesem Tag bereits gespielt hat.

Das Programm läuft über eine doppelte Schleife... also eine Schleife in der sich eine weitere Schleife befindet.
Die erste Schleife (HinRunden-Schleife) hat für jeden Tag einen durchgang (die hat bei 18 Mannschaften genau 17 Durchgänge) Innerhalb dieser SChleife befindet sich eine zweite (Tag-Schleife), die genau für jede Paarung einmal durchläuft (also 9 mal)

--------------------------
Innerhalb der Tag-Schleife passiert nun folgendes:
1. Beginne mit der ersten Mannschaft und suche (von oben nach unten) eine Mannschaft die sich noch nicht in der Menge "Tag-Gespielt" befindet. (beim ersten durchgang der Tag-Schleife ist das immer die erste Mannschaft). Füge die gefundene Mannschaft der Menge "Tag-Gespielt" zu.

Anmerkung:
- Die gefundene Mannschaft nenne ich von nun an "Mannschaft A"
- Die "Gespielt" Menge von "Mannschaft A" nenne ich "Gespielt A"

2. Untersuche alle Mannschaften die sich nicht in der Menge "Gespielt A" und Bilde eine Rangordnung nach folgendem Kriterum:
(Untersuchte Mannschaft ist "Mannschaft B" mit der Menge "Gespielt B")

Betrachte die SCHNITTMENGE von "Gespielt B" und "Tag_Gespielt" als Zahl. Das heisst:
Gegen wieviele Mannschaften, die bereits an diesem Tag gespielt haben, hat "Mannschaft B" in der HinRunde bereits gespielt?
Bestimme die Mannschaften die nach diesemn Kriterum die NIEDRIGSTE Zahl haben. (das kann eine Mannschaft aber auch mehrere sein.). Diese Mannschaften bilden die Menge "Auswahl".

3. Wähle aus der Menge "Auswahl" zufällig eine Mannschaft. Gegen diese Manschaft wird gespielt! Füge diese Mannschaft auf der Menge "Tag_Gespielt" hinzu.

Die Tag-Schleife wiederholt sich jetzt genau 9 mal, eben bis alle Mannschaften an diesem Tag gespielt haben.
-----------------------------------
Verlässt das Programm die "Tag-Schleife", wird die "Tag_Gespielt"-Menge natürlich wieder geleert. Die "Gespielt" Mengen der einzelnen Mannschaften bleiben jedoch erhalten!

Jetzt wiederholt sich das ganze nochmal für den nächsten Tag undzwar genau 17 mal.


Also wie gesagt: Ich bin mir nicht 100%ig Sicher, ob das funktioniert, aber ich werde jetzt mal versuchen nen Java-Programm dazu zu schreiben um es zu testen XD

Ich hoffe ich konnt helfen.

Gruß

Lachsen