Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1367 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  un tablo de match dans une poule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un tablo de match dans une poule

n°771294
chaos0007
Posté le 21-06-2004 à 13:08:13  profilanswer
 

Bonjour,
 
voilà je dois réaliser un algorithme pour construire un tableau de match dans une poule. Je voulais savoir si il existait un algorithme car je ne vois pas comment le réaliser. Les règles sont simples : toutes les équipes doivent se rencontrer et on doit eviter que les equipes ne jouent 2 fois d'affilé.
pouvez vous m'aider ?
merci d'avance

mood
Publicité
Posté le 21-06-2004 à 13:08:13  profilanswer
 

n°771308
jagstang
Pa Capona ಠ_ಠ
Posté le 21-06-2004 à 13:19:57  profilanswer
 

non, y'a pas d'algo à ma connaissance.
 
à un moment donné c'est pas possible d'empêcher 2 matchs d'affilée...
 
1 et 2
3 et 4
-- ici, impossible de faire jouer un match sans faire jouer 3 ou 4...
1 et 3
2 et 4
1 et 4
2 et 3
 
c'est un bête combinatoire...
 
[:spamafote]


Message édité par jagstang le 21-06-2004 à 13:20:53

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°773571
chaos0007
Posté le 23-06-2004 à 00:11:25  profilanswer
 

je suis désolé mais je ne vois pas comment faire celà.  
faut il que je fasse jouer i contre i+1, faire ts les matchs puis
i contre i+2, etc
 
pourriez vous m'aider svp.
merci d'avance

n°773763
titione
addicted
Posté le 23-06-2004 à 09:15:44  profilanswer
 

tu fais de l'aléatoire en vérifiant a posteriori les contraintes sur les matchs (match déjà joué, équipe déjà joué au tour dernier etc...)
comme ce n'est pas des poules de 456 365 équipes, ça va vite et c'est efficace !
(bon c vrai que c'est pas super beau...)

n°773774
chaos0007
Posté le 23-06-2004 à 09:23:48  profilanswer
 

ca me parait vaiment bourin comme metode

n°773775
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 09:24:07  profilanswer
 

heu...
 
pour i allant de 1 à nb_d'équipe
 
     pour j allant de i+1 à nb_d'équipe
 
          i contre j
 
     fin pour
 
fin pour

n°773807
skeye
Posté le 23-06-2004 à 09:37:20  profilanswer
 

Dr Raf a écrit :

heu...
 
pour i allant de 1 à nb_d'équipe
 
     pour j allant de i+1 à nb_d'équipe
 
          i contre j
 
     fin pour
 
fin pour


Là tu as une équipe qui joue tous ses matchs à la suite, c'est pas très sympa pour elle!:o


---------------
Can't buy what I want because it's free -
n°773819
jagstang
Pa Capona ಠ_ಠ
Posté le 23-06-2004 à 09:40:17  profilanswer
 

boah si je le nombre d'équipe est fixe tu fais un 2 vecteur pis c'est tout...
 
v1 = 1, 3, 1, 2, 1, 2  
v2 = 2, 4, 3, 4, 4, 3


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°773853
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 09:49:49  profilanswer
 

skeye a écrit :

Là tu as une équipe qui joue tous ses matchs à la suite, c'est pas très sympa pour elle!:o


 
justement c fait expres, c permet d'eviter les coupures et de rester chaud  :)  
 
 
 
 :D  
 
 
bon je retente ma chance :
 


pour j allant de 1 jusqu'a nb_eq - 2
 
     i = 1
 
     tant que i + j n'est pas supérieur à nb_eq
 
          i contre i + j
 
          i = i + 1
 
     fin tq
 
fin pour


 
 
 
edit : thx skeye


Message édité par Dr Raf le 23-06-2004 à 10:05:29
n°773859
skeye
Posté le 23-06-2004 à 09:52:34  profilanswer
 

Dr Raf a écrit :

justement c fait expres, c permet d'eviter les coupures et de rester chaud  :)  
 
 
 
 :D  
 
 
bon je retente ma chance :
 


pour j allant de 1 jusqu'a nb_eq - 2
 
     i = 1
 
     tant que i + j n'est pas supérieur à 5
 
          i contre j
 
          i = i + 1
 
     fin tq
 
fin pour




Il sort d'où ton "i+j < 5" ? :heink:
 
[edit]
Avec une poule de 10 équipes on est pas dans la merde...:whistle:


Message édité par skeye le 23-06-2004 à 09:53:20

---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 23-06-2004 à 09:52:34  profilanswer
 

n°773862
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 09:54:34  profilanswer
 

de ma tête lol... nan dsl javais un exemple dans la tet c'est nb_eq autant pour moi :jap:

n°773868
skeye
Posté le 23-06-2004 à 09:56:00  profilanswer
 

Dr Raf a écrit :

de ma tête lol... nan dsl javais un exemple dans la tet c'est nb_eq autant pour moi :jap:


dans ce cas tu vas avoir des matches en double, là!:o


---------------
Can't buy what I want because it's free -
n°773869
skeye
Posté le 23-06-2004 à 09:56:56  profilanswer
 

et t'as des matches ou une équipe joue contre elle-même...:lol:


---------------
Can't buy what I want because it's free -
n°773872
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 09:57:50  profilanswer
 

javé oublié un truc g corriger :o

n°773881
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 10:01:30  profilanswer
 

donc si je me suis pas encore gourré (les billets pour le mexique sont prêts ^^') ca nous fait :  
 
1 vs 2
2 vs 3
3 vs 4
4 vs 5
1 vs 3
2 vs 4
3 vs 5
1 vs 4
2 vs 5
1 vs 5
 
 
edit : avec nb_eq = 5  :whistle:


Message édité par Dr Raf le 23-06-2004 à 10:02:13
n°773883
skeye
Posté le 23-06-2004 à 10:02:10  profilanswer
 

En effet c'est nettement mieux comme ça...;)


---------------
Can't buy what I want because it's free -
n°773893
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 10:03:50  profilanswer
 

thx :jap:

n°773905
titione
addicted
Posté le 23-06-2004 à 10:07:43  profilanswer
 

sauf que 1 joue toujours à domicile... :)
 
edit : et 5 à l'extérieur...


Message édité par titione le 23-06-2004 à 10:08:02
n°773921
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 10:14:23  profilanswer
 

titione a écrit :

sauf que 1 joue toujours à domicile... :)
 
edit : et 5 à l'extérieur...


 
 :lol:  
 
fallait le dire avant hien  :fou:
 
edit : au pire tu case un bolleen dans le while  :o


Message édité par Dr Raf le 23-06-2004 à 10:16:45
n°773925
titione
addicted
Posté le 23-06-2004 à 10:16:37  profilanswer
 

moi je m'en fiche... c juste une remarque... ;)


Message édité par titione le 23-06-2004 à 10:16:46
n°773956
chaos0007
Posté le 23-06-2004 à 10:30:47  profilanswer
 

euh le pb c'est que je ne veux pas qu'une equipe joue 2 fois a la suite or la. c'est le cas a chaque fois pour les premiers matchs...
sinon c'est vraiment sympa de m'aider...


Message édité par chaos0007 le 23-06-2004 à 10:31:50
n°773958
skeye
Posté le 23-06-2004 à 10:31:41  profilanswer
 

chaos0007 a écrit :

euh le pb c'est que je ne veux pas qu'une equipe joue 2 fois a la suite or la. c'est le cas a chaque fois...
sinon c'est vraiment sympa de m'aider...


C'est impossible, on te dit!

JagStang a écrit :

non, y'a pas d'algo à ma connaissance.
 
à un moment donné c'est pas possible d'empêcher 2 matchs d'affilée...
 
1 et 2
3 et 4
-- ici, impossible de faire jouer un match sans faire jouer 3 ou 4...
1 et 3
2 et 4
1 et 4
2 et 3
 
c'est un bête combinatoire...
 
[:spamafote]


---------------
Can't buy what I want because it's free -
n°773966
vonm
Posté le 23-06-2004 à 10:39:29  profilanswer
 

skeye a écrit :

C'est impossible, on te dit!


 
ben a priori, avec un nombre d'equipes impair, c'est possible.
a moins que je ne me sois trompe, avec 5 equipes ca donne :
1 et 2
3 et 4
1 et 5
2 et 3
1 et 4
3 et 5
2 et 4
1 et 3
2 et 5
 
mais bon, ca je l'ai fait a la main, je cherche encore l'algo pour y arriver.
 
v.
 
Edit: ben non, ca marche pô avec 3... j'vais essayer avec 7 !


Message édité par vonm le 23-06-2004 à 10:40:55
n°773973
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 10:45:25  profilanswer
 

vonm a écrit :

ben a priori, avec un nombre d'equipes impair, c'est possible.
a moins que je ne me sois trompe, avec 5 equipes ca donne :
1 et 2
3 et 4
1 et 5
2 et 3
1 et 4
3 et 5
2 et 4
1 et 3
2 et 5
 
mais bon, ca je l'ai fait a la main, je cherche encore l'algo pour y arriver.
 
v.
 
Edit: ben non, ca marche pô avec 3... j'vais essayer avec 7 !


 
c impossible à priori vu que tu peux caser nul part "4 et 5" sans "toucher" un "4" ou "5" dans ta liste  :D

n°773979
skeye
Posté le 23-06-2004 à 10:49:56  profilanswer
 

Dr Raf a écrit :

c impossible à priori vu que tu peux caser nul part "4 et 5" sans "toucher" un "4" ou "5" dans ta liste  :D


si, avant 1 contre 2!:o


---------------
Can't buy what I want because it's free -
n°773985
vonm
Posté le 23-06-2004 à 10:53:22  profilanswer
 

Dr Raf a écrit :

c impossible à priori vu que tu peux caser nul part "4 et 5" sans "toucher" un "4" ou "5" dans ta liste  :D


 
oups !
oublié 4 et 5 !
 
la combinaison finale devient donc :
4 et 5
1 et 2  
3 et 4  
1 et 5  
2 et 3  
1 et 4  
3 et 5  
2 et 4  
1 et 3  
2 et 5  
 
mais je vois toujours pas l'algo.
 
v.

n°774008
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 11:06:18  profilanswer
 

skeye a écrit :

si, avant 1 contre 2!:o


 
arg décidement  [:tinostar]  
 
nan mais en faite c'est une longue histoire : pour 5 equipe il doit y avoir 10 matchs et là il en manquait un ! j'ai cru par la suite que le match manquant (pas assez de rigueur dans l'examination sans doute) etait "2 et 5", ceci entrainant cela j'ai pas reussi à le caser lui donc voila. mais les choses ne s'arrete pas la puisque, vérifiant mon poste, je me suis apercu de mon erreur, j'ai donc vite fait de trouver la bon match manquant et apres une trop petite vérification j'ai posté. et sinon vonm pourquoi tu ne veux absolument pas qu'une équipe joue deux fois de suite ???


Message édité par Dr Raf le 23-06-2004 à 11:07:37
n°774014
vonm
Posté le 23-06-2004 à 11:08:36  profilanswer
 

Dr Raf a écrit :

arg décidement  [:tinostar]  
 
nan mais en faite c'est une longue histoire : pour 5 equipe il doit y avoir 10 matchs et là il en manquait un ! j'ai cru par la suite que le match manquant (pas assez de rigueur dans l'examination sans doute) etait "2 et 5", ceci entrainant cela j'ai pas reussi à le caser lui donc voila. mais les choses ne s'arrete pas la puisque, vérifiant mon poste, je me suis apercu de mon erreur, j'ai donc vite fait de trouver la bon match manquant et apres une trop petite vérification j'ai posté. et sinon vonm pourquoi tu ne veux absolument pas qu'une équipe joue deux fois de suite ???


 
heuuu...
c'est pas moi, je me contente de chercher des solutions !
faut demander ca a chaos0007 !
 
a mon avis, c'est parce qu'on joue pas au foot qu'on pose ce genre de questions (faineant va !  :) )
 
v.


Message édité par vonm le 23-06-2004 à 11:16:13
n°774069
Dr Raf
Roaccutane® powered
Posté le 23-06-2004 à 11:32:13  profilanswer
 

ha woué :D
 
bon ben heu déjà si ca marche qu'avec certains nombres d'équipes impair ca sert à rien de faire un algo...


Message édité par Dr Raf le 23-06-2004 à 11:32:59
n°774181
chaos0007
Posté le 23-06-2004 à 12:52:52  profilanswer
 

en fait je sais que ca ne marche pas pour ttes les longueurs de poule. l'exemple trivial est la poule de 3 équipes. Mais en fait c'est qu'il faudrait l'éviter au maximum mais ce n'est pas évident je sais. je me contenterai de cette solution là pour le moment.
merci à tous de votre aide

n°808736
vja
Posté le 28-07-2004 à 15:10:25  profilanswer
 

Salut Chaos,
 
Je cherche moi-même des infos sur le même sujet. Je dois déterminer l'ordre des matchs pour un concours en groupes pour la pétanque. Il faut que toutes les équipes jouent l'une contre l'autre, et toutes en même temps. Il n'y a jamais des équipes qui ne jouent pas (sauf une si le nombre est impair).
 
Au début 2004, je me suis écrit un algo en visual basic que me sortait tout ça, en utilisant la méthode du backtracking. Les groupes peuvent aller de 4 à n équipes. Il y a toujours un nombre d'équipes pair. Si le nombre est impair, il suffit d'ajouter une équipe fantôme et elle correspondra au match de repos.
 
Mon algo me sort les résultats de 4 à 22 en moins d'une seconde. Par contre, ensuite :
- 24 équipes : 12 sec
- 26 équipes : 29 min
- 28 équipes : 2 jours 12 heures
- 30 équipes : 3 mois et pas encore fini; à ce rythme y en a pour 3 siècles (sisi)
- 32 équipes : < 1 sec (en fait, toutes les puissances de 2 sont à moins d'1 sec)
 
Je me demandais donc si tu as de ton côté trouvé un algo (rapide) pour calculer les matchs. Je suis particulièrement intéressé pour la liste des matchs pour un groupe de 30 équipes.
 
Si tu veux, je peux te filer mon algo.
 
 
Exemple de résultat pour 12 équipes :
L'équipe de la ligne l joue sont n-ième match contre l'équipe de la colonne c

n | 1   2   3   4   5   6   7   8   9   10  11  12
--+-----------------------------------------------
1 |     1   2   3   4   5   6   7   8   9   10  11
2 |         3   2   5   4   7   6   9   8   11  10
3 |             1   10  11  8   9   4   5   6   7
4 |                 11  10  9   8   5   4   7   6
5 |                     1   2   3   6   7   8   9
6 |                         3   2   7   6   9   8
7 |                             1   10  11  4   5
8 |                                 11  10  5   4
9 |                                     1   2   3
10|                                         3   2
11|                                             1


Chaque équipe joue 11 matchs (12-1) et il y a 6 matchs (12/2) à chaque tour.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  un tablo de match dans une poule

 

Sujets relatifs
Preg_match_allpreg_match sur une balise a
Echapper un mot avec preg_match[CSS]un hover sur une cellule de tablo????
Comment faire une modif dans un tablo multidimensionel (voir 20e post)passage de tablo par pointeurs const vers des données const
[C] affichage du contenu d'un tablo a l'ecran prob[PHP] noobi need help pour selectionner ds un tablo
[php] j ai un 0 qui ce met ds mon tablo pers peut regarder merci[php] pb pour faire un tablo avec ces donnees
Plus de sujets relatifs à : un tablo de match dans une poule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR