Algoritmo creazione tabellone partite

di il
8 risposte

Algoritmo creazione tabellone partite

Buongiorno a tutti
Sto sviluppando un'applicazione in vb.net che gestisce i tornei.
Ho qualche problema nel creare la funzione che calcola l'ordinamento delle partite..
Mi spiego meglio: ho un vettore da 1 a n che contiene le partite, ma nn riesco a "calcolare" in quale posizione del tabellone vada. Esempio:
Tabellone 16 squadre
Vet(1) testa di serie 1 vs testa di serie 16
Vet(2) testa di serie 2 vs testa di serie 15
Vet(3) testa di serie 3 vs testa di serie 14
Vet(4) testa di serie 4 vs testa di serie 13
Vet(5) testa di serie 5 vs testa di serie 12
Vet(6) testa di serie 6 vs testa di serie 11
Vet(7) testa di serie 7 vs testa di serie 10
Vet(8) testa di serie 8 vs testa di serie 9

La partita di vet(1) dovrebbe andare nella prima partita in alto del tabellone

La partita di vet(2) dovrebbe andare nell'ultima partita in basso del tabellone


La partita di vet(3) dovrebbe andare nella quinta partita dall'alto del tabellone


La partita di vet(4) dovrebbe andare nella quarta partita dall' alto del tabellone

La partita di vet(5) dovrebbe andare nella terza partita dall' alto del tabellone

La partita di vet(6) dovrebbe andare nella sesta partita dall' alto del tabellone

La partita di vet(7) dovrebbe andare nella settima partita dall' alto del tabellone


La partita di vet(8) dovrebbe andare nella seconda partita dall' alto del tabellone

Dovrei trovare un algoritmo che vada bene per i tabelloni da 4, 8, 16, 32, 64, 128, 256, ecc..

Mi date una mano per favore?
Grazie in anticipo

8 Risposte

  • Re: Algoritmo creazione tabellone partite

    Ma c'e' una regola?

    1->1
    2->8
    3->5
    4->4
    5->3
    6->6
    7->7
    8->2

    Sembra una permutazione dei numeri da 1 a 8.
  • Re: Algoritmo creazione tabellone partite

    Grazie mille per la risposta

    la regola non la conosco, dovrei scoprirla anch'io
  • Re: Algoritmo creazione tabellone partite

    Se può essere utile questo sarebbe il tabellone da 32 squadre:
    vet(1) testa di serie 1 vs testa di serie 32
    vet(2) testa di serie 2 vs testa di serie 31
    vet(3) testa di serie 3 vs testa di serie 30
    vet(4) testa di serie 4 vs testa di serie 29
    vet(5) testa di serie 5 vs testa di serie 28
    vet(6) testa di serie 6 vs testa di serie 27
    vet(7) testa di serie 7 vs testa di serie 26
    vet(8) testa di serie 8 vs testa di serie 25
    vet(9) testa di serie 9 vs testa di serie 24
    vet(10) testa di serie 10 vs testa di serie 23
    vet(11) testa di serie 11 vs testa di serie 22
    vet(12) testa di serie 12 vs testa di serie 21
    vet(13) testa di serie 13 vs testa di serie 20
    vet(14) testa di serie 14 vs testa di serie 19
    vet(15) testa di serie 15 vs testa di serie 18
    vet(16) testa di serie 16 vs testa di serie 17

    La partita di vet(1) dovrebbe andare nella prima partita in alto del tabellone

    La partita di vet(2) dovrebbe andare nell'ultima partita in basso del tabellone

    La partita di vet(3) dovrebbe andare nella nona partita dall'alto del tabellone

    La partita di vet(4) dovrebbe andare nella settima partita dall'alto del tabellone

    La partita di vet(5) dovrebbe andare nell'undicesima partita dall'alto del tabellone

    La partita di vet(6) dovrebbe andare nella quinta partita dall'alto del tabellone

    La partita di vet(7) dovrebbe andare nella tredicesima partita dall'alto del tabellone

    La partita di vet(8) dovrebbe andare nella terza partita dall'alto del tabellone

    La partita di vet(9) dovrebbe andare nella quarta partita dall'alto del tabellone

    La partita di vet(10) dovrebbe andare nella 14^ partita dall'alto del tabellone

    La partita di vet(11) dovrebbe andare nella sesta partita dall'alto del tabellone

    La partita di vet(12) dovrebbe andare nella 12^ partita dall'alto del tabellone

    La partita di vet(13) dovrebbe andare nell'ottava partita dall'alto del tabellone

    La partita di vet(14) dovrebbe andare nella decima partita dall'alto del tabellone

    La partita di vet(15) dovrebbe andare nella 15^ partita dall'alto del tabellone

    La partita di vet(16) dovrebbe andare nella seconda partita dall'alto del tabellone

    Riepilogando:
    1->1
    2->16
    3->9
    4->7
    5->11
    6->5
    7->13
    8->3
    9->4
    10->14
    11->6
    12->12
    13->8
    14->10
    15->15
    16->2

    grazie ancora per l'aiuto
  • Re: Algoritmo creazione tabellone partite

    Ho trovato questa "regola":

    per ogni quarto di tabellone la somma delle 2 teste di serie deve dare la somma delle teste di serie +1 ( 17) e ci siamo....
    messe ad allontanarsi, a seconda della posizione ( 1 in alto, 2 in basso e a salire) contro le ultime della lista ( 16, 15 etc e a salire)

    avete idee?
  • Re: Algoritmo creazione tabellone partite

    Scalvo9 ha scritto:


    avete idee?
    Ho idea che tu stia solo tentando di "reinventare" nientemeno che il cosiddetto algoritmo di Berger per i tornei round-robin e dintorni...
  • Re: Algoritmo creazione tabellone partite

    Grazie mille per la risposta

    ho dato un'occhiata al post che hai linkato ma contiene una funzione per creare il calendario, non per posizionare le partite sul tabellone..
    Non penso che sia quello che mi serve.......................
  • Re: Algoritmo creazione tabellone partite

    Hai parlato solo di tornei e di "posizionare le partite sul tabellone". Forse è davvero il caso che tu sia meno vago: si tratta di un torneo round robin o ad eliminazione binaria? Di che sport e torneo stiamo parlando?
  • Re: Algoritmo creazione tabellone partite

    Torneo di beach volley a doppia eliminazione
Devi accedere o registrarti per scrivere nel forum
8 risposte