tworzenie terminarzu spotkan

0

Mam 10 druzyn ktore maja id odpowiednio od 1 do 10. Kazda druzyna musi zagrac z kazda dwa razy, raz na wyjezdzie i raz u siebie. Łacznie bedzie 90 meczy w 18 kolejkach czyli po 5 na kolejke. Najlepiej gdyby ten terminarz byl w tablicy mecze[90][2], gdzie pierwszy rozmiar to ilosc meczy a w drugim jest trzymane id zespolow. Np. mecze[0][0] = 1; mecze[0][1] = 8; Czyli w pierwszym meczu gra duzyna o id = 1 z druzyna o id = 8. Niestety niepotrafie wymyslec odpowiedniego algorytmu wypelniajacego ta tablice. Na 90 meczy ok 70 jest wypelnione odpowiednio a 20 komorek jest pustych. Bardzo prosze o jakies wskazowki lub o algorytm

0

AFAIK to się robi tak zwanym systemem kołowym:
Na początku masz:
1 - 6
2 - 7
3 - 8
4 - 9
i 5 pauzuję

Potem przesuwasz cyklicznie drużyny:
6 - 7
1 - 8
2 - 9
3 - 5
i 4 pauzuje

7-8,6-9,1-5,2-4, (3); 8-9,7-5,6-4,1-3,(2); etc, jeżeli muszą być dwa mecze każdej pary robisz pełen obieg, jeżeli wystarczy jeden mecz, tylko pół obiegu (to „większe” pół).

Jeśli chodzi o ustalenie kto ma być gospodarzem: w każdej parze z czterech spotkań, które występują w jednym „obiegu” wybierasz sobie pierwszą lub drugą na gospodarza i tego się trzymasz: gdyby założyć, że np. zawsze pierwsza jest gospodarzem (tak jak podawałem w przykładzie) to będzie trochę nudno, bo np. drużyna 1. będzie zaczynać serią 4 spotkań jako gospodarz, lepiej zrobić to „na przemian”, tzn 1. i 3. pozycję z czwórki spotkań zapisać jak jest a 2. i 4. odwrotnie (gospodarz jest drugi; dałoby to 1-6,7-2,3-8,9-4,(5);6-7,8-1,2-9,5-3,(4);...)

Prosty algorytm, nawet do zastosowania na kartce jak się nie ma kompa.. :)

EDIT: Oh man, ale łosiu ze mnie, przeczytałem niewiedzieć czemu 9 drużyn a nie 10... Ale algorytm będzie działał, tyle że nie będzie „drużyny pauzującej”...

EDIT2: Skłamałem jeszcze raz: jeżeli masz parzystą ilość drużyn, to jedna musi być niejako poza kółkiem, resztę rotujesz jak w systemie dla nieparzystej ilości, przy czym zamiast pauzować drużyna gra z tą „odstawioną” (sorry, ale ostatni raz implementowałem ten algorytm w ogólniaku, do było daaaawno temu...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1