28. august 2012 - 23:41Der er
2 kommentarer og 1 løsning
Lave en kampplan
Hej eksperter
Jeg sidder og grubler over, hvordan, jeg skal få skrevet en metode/program til at fordele 132 kampe i 22 runder (2 rækker med hver 12 hold, der skal møde hinanden)
Der er nogle parametre, der også har betydning for problemet: 1. hvis der er hold fra samme klub, skal de mødes indbyrdes i den/de første runder
2. nogle klubber kan have flere hold tilmeldt (også i begge rækker), men har f.eks kun 1 bane til 2 hold - hvilket betyder, at der skal være en hjemmekamp og 1 udekamp for den klub i hver runder
3. ude/hjemmebane skal fordeles ligeligt, så et hold ikke skal spille 7 udbanekampe i træk. Helst max 2.
I første omgang har jeg brug for lidt inspiration til, hvordan jeg får lavet en metode, der kan udregne kampplanen uden at tage hensyn til pkt 1, 2 & 3. Jeg har en idé om, at en rekursiv metode kan være god at bruge, men jeg kan ikke få hul på det ...
Tror det er et ret komplekst problem. Dette er bare mine umiddelbare tanker.
Lav en metode der kan udvælge nogle kampe udfra nogle af dine kriterier.
Som jeg ser det skal der spilles hver gang på de baner der deles af 2 hold (da 50% skal spilles hjemme). Dvs når dele-bane objektet oprettes tildeles den en boolean deleBane=true, hvilket indikerer at den skal bruges hver gang.
Når et hold objekt oprettes tildeles det forskellige variabler. int udekamp=0, int hjemmekamp=0, int deleklub=5 (sættes til nul hvis der ikke er klubopgør), string klub.
Hver gang holdet sættes på en udekamp sættes udekamp lig nul og hjemmekamp stiger. kunne feks stige 1,2,4,8 og visa versa
Lav en metode der sammensætter turneringerne.
Den kigger først alle Bane objekterne igennem for delebane==true. Er dette tilfældet tager den String klub i banen. Kigger så de mulige kampe igennem som ikke er spillet. Der kaldes her en metode der returnerer en int-værdi for den kamp udfra ovenstående. Dvs hvad er den samlede værdi for kampen = max(udebane,hjemmebane)+deleklub(sættes lig nul efter klubopgør).
Ved ikke om det giver mening eller er en brugbar model.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.