Gra każdy z każdym

0

Witam,
czy ktoś ma jakiś pomysł na algorytm tak żeby skonfrontować wszystkich zawodników (Obiekty) ze sobą? Tak myślę, że po każdej rundzie np. można byłoby dzielić listę na pół i przesuwać względem siebie.

0

a co z nieparzystą liczbą zawodników? Jeśli ma być to walka każdy z każdym to niestety pomysł nietrafiony bo po pierwszej rundzie odpada połowa

0

może poczytaj sobie jak to jest np. na turniejach szachowych zorganizowane.

0

Dobra chyba mam. Biorę pierwszy element i łącze go z kolejnymi, potem przechodzę na drugi i przechodzi po kolejnych (bez 1) i znowu zwiększam o 1 itd.

To przedstawię rozwiązanie może komuś się przyda.

Przykład na Listach (Java):

List<String> druzyny = new ArrayList<String>();

druzyny.add("A");
druzyny.add("B");
druzyny.add("C");
...

int liczbaSpotkan = (druzyny.size()*(druzyny.size()-1))/2

for(int i=druzyny.size()-1; i>=0; i--){
    for(int j=i-1; j>=0; j--){
       //tu jakas akcja zestawiajaca druzyny 
       System.out.println(druzyny.get(i) + " vs " + druzyny.get(j));
    }
}

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