Domanda

Sto mettendo insieme uno strumento per un collega, che contribuisce a creare un bel calendario degli incontri. Ho avuto circa 2/3 attraverso l'utensile, la raccolta di dati diversi ... e poi mi ha colpito un muro di mattoni. Si tratta di meno di un problema JavaScript e più di un brainblock la matematica / elaborazione.

Diciamo che ho 4 squadre, e tutti hanno bisogno di giocare tra loro in casa e fuori. Con questo strumento - http://www.fixturelist.com/ - posso vedere che una casa e fuori fissaggio con 4 squadre avrebbe preso 6 settimane / giri / qualunque cosa. Per la vita di me, però, non riesco a capire come che è stato elaborato a livello di codice.

Qualcuno può spiegare la logica per elaborare questo?

Per info, vorrei utilizzare questo strumento già esistente, ma ci sono altri fattori / caratteristiche che ho bisogno di lavorare, quindi facendo un lavoro personalizzato. Se solo potessi capire come rappresentare la logica!

È stato utile?

Soluzione

Nel tuo esempio di 4 squadre, li chiamano a, b, c, d:

  • un deve giocare b, c, d
  • b deve svolgere c, d (partita contro una già incluso nei giochi di a)
  • c deve giocare d (partita contro una già incluso nei giochi di una, contro il b già incluso nei giochi del b)

Se hanno bisogno di giocare in casa e fuori, che è 12 partite. Si può giocare al massimo 4/2 = 2 partite a settimana, in modo che è di 6 settimane.

Con squadre n avete bisogno di giochi x, dove:

x = ((n-1 + n-2 + n-3 ...) * 2)

Questo richiede settimane y, dove:

y = x/(n/2) = 2x/n

Questo può essere semplificato con una serie aritmetica abbastanza facilmente, o calcolato con un ciclo, se si desidera.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top