Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Zdravím,
chtěl bych se zeptat, zda někdo neví jak rozdělit třeba 20 hráčů do 4 týmů dle ela (jakoby počet bodů) tak, aby ty týmy byly co nejvyrovnanější. Spíš jako na něco odkázat nebo tak, abych to byl schopen nějak naprogramovat. Mám za sebou 1 semestr v C++ a představa xy forů v sobě na procházení všech možností se mi zdá nešikovná a v případě více hráčů i nespočitatelná pro pc. Prý to jde i nějak v Excelu, ale netuším...
Děkuji
Offline
↑ thorne:
Ahoj, podle mě to v rozumném čase nejde - je to něco jako problém batohu.
Co myslíš tím co nejvyrovnanějším elem? Že součty elo každého z týmů budou co nejpodobnější? Rozdíl max a min součtu bude co nejmenší? je potřeba to nějak definovat, čeho chceš dosáhnout...
Samozřejmě exiostují nějaké heuristiky...
Offline
Ahoj, spoléhal bych na rovnoměrné rozdělení ELO a naprogramoval bych heuristiku
krok 1:
první+poslední ... 1. družstvo
druhý+předposlední ... 2. družsvo
třetí+předpředposlední ... 3. družstvo
atd. až do počtu družstev
krok 2:
posunu ukazatel první, poslední o počet družstev
pokud první < poslední, jdu na krok 1, jinak jdu na konec
Kdyby se mi chtělo, mohl bych třeba ještě při každém cyklu prohodit pořadí výběru do družstev
A kdyby mi říkali, že je to blbě, požádal bych je o lepší nápad :-)
Offline
↑ osman:
A nebo hladový algoritmus - seřadím je podle velikosti a umístím dalšího do takové množiny, abych minimalizoval nějakou kriteriální funkci...
Offline
Stránky: 1