Benutzer mit den meisten Antworten
Round Robin - Fußballturnier

Frage
-
Hallo,
ich habe bereits einen Code geschrieben der nach dem Round Robin Algorithmus alle Mannschaften kombiniert. Jetzt habe ich aber nur ein Fußballfeld zur Verfügung und möchte nicht dass Teams nacheinander Spielen.
Nun habe ich das Problem, dass wenn ich eine ungerade Anzahl an Fußballmannschaften habe, und den Trick mit dem Dummyspiel mache und dieses Spiel einfach wieder lösche, dass dann Mannschaften nacheinander Spielen müssen, was nicht seien darf.
Wie kann ich das umgehen??
Antworten
-
Sicher, bei einer ungeraden Anzahl setzt immer eine Mannschaft pro Runde aus, das war mir jetzt allerdings zu trivial um es extra zu Erwähnen. Sonst ist es allerdings bei einem Rundenturnier (Round-Robin Tournament) genau so wie ich geschrieben habe, jede Mannschaft spielt in jeder Runde.
Das deine Runde aus mehreren Spielen auf einem Spielfeld erfolgt ist ein Sonderfall. Deine Bedingung ist bereits bei drei Mannschaften nicht lösbar. Wenn ich es richtig überblicke tritt der Fall für ungerade Zahlen immer genau einmal auf.
- Florian- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 22. November 2011 10:33
Alle Antworten
-
Hallo,
Ich programmiere in c# und habe Folgendes Problem :
In einem Datagridview stehen alle möglichen kombinationen eines Truniers. Nun würde ich gerne wissen, wie man Zeilen tauscht. Weiterhin fehlt mir noch der Turnieralgorithmus. Also es sollten ja eine Mannschaft nicht 2 mal nach einander spielen und am besten auch nicht so lange auf ihr Spiel warten.
Vielen Dank Mfg Karlos
- Zusammengeführt Robert BreitenhoferModerator Mittwoch, 16. November 2011 18:21 Gleiches Thema
-
In dem Fall ist es relative einfach:
Du hast für jeden Spieler/Team die Anzahl noch offener Spiele. Damit hast du den Wert auch für jede Paarung (Summe der Werte). Jetzt nimmst du einfach eine Paarung aus der Menge mit der höchsten Summe. Diese sortierst du vorher noch nach der vergangenen Zeit, die in dem Fall durch die Reihenfolge der Ergebniseingabe festliegt.
- Als Antwort vorgeschlagen Horizon_Net Mittwoch, 2. November 2011 14:12
- Nicht als Antwort vorgeschlagen Karlos.3Po Mittwoch, 2. November 2011 14:30
-
Hallo Karlos,
Du kannst es nicht umgehen, die Mannschaften spielen nunmal in jeder Runde. Ganz offensichtlich ist es beim Beispiel mit 3 Mannschaften. Wieso stellst Du die Frage hier, sie hat offensichtlich nichts mit C# zu tun?
- Florian- Als Antwort markiert Karlos.3Po Montag, 14. November 2011 12:58
- Tag als Antwort aufgehoben Karlos.3Po Montag, 14. November 2011 12:58
-
Hallo,
und das wird eigentlich ganz gut in der Wikipedia beschrieben:
http://en.wikipedia.org/wiki/Round-robin_tournament
Gruß Elmar
-
Hallo Karlos.3Po,
Vielleicht noch interessant für Dich: http://www.openligadb.de/Webservice/Description
Grüße,
Robert
-
Sicher, bei einer ungeraden Anzahl setzt immer eine Mannschaft pro Runde aus, das war mir jetzt allerdings zu trivial um es extra zu Erwähnen. Sonst ist es allerdings bei einem Rundenturnier (Round-Robin Tournament) genau so wie ich geschrieben habe, jede Mannschaft spielt in jeder Runde.
Das deine Runde aus mehreren Spielen auf einem Spielfeld erfolgt ist ein Sonderfall. Deine Bedingung ist bereits bei drei Mannschaften nicht lösbar. Wenn ich es richtig überblicke tritt der Fall für ungerade Zahlen immer genau einmal auf.
- Florian- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 22. November 2011 10:33