IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Créer des groupes de 4 à partir d'une liste


Sujet :

Algorithmes et structures de données

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Créer des groupes de 4 à partir d'une liste
    salut

    j'aimerais organiser des tournois (jeu de carte plus précisément) et j'ai une liste de joueurs

    les joueurs seront divisés en table de 4 donc la liste est forcément un multiple de 4

    j'aimerais faire en sorte que tous les joueurs rencontrent tous les joueurs une seule fois

    au début je pensais que ça allait être simple, mais je m’emmêle les pinceaux lol

    déjà j'aimerais savoir le nombre de TOUR qu'il y aura pour que tous les joueurs se rencontrent

    je sais que pour 16 joueurs, ça fait 4 tables, et il faut 5 tours

    je ne vois pas comment trouver ce nombre de tour pour par exemple 20 joueurs, 24, 32, ect ...

    et enfin, je me demande par quel moyen j'effectue le tirage au sort, pour être sur de jouer avec tout le monde, mais sans rencontrer 2 fois le même adversaire

    merci d'avance à ceux qui me liront

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 951
    Points : 4 376
    Points
    4 376
    Par défaut
    Citation Envoyé par Coussati Voir le message
    salut

    j'aimerais organiser des tournois (jeu de carte plus précisément) et j'ai une liste de joueurs

    les joueurs seront divisés en table de 4 donc la liste est forcément un multiple de 4

    j'aimerais faire en sorte que tous les joueurs rencontrent tous les joueurs une seule fois

    au début je pensais que ça allait être simple, mais je m’emmêle les pinceaux lol

    déjà j'aimerais savoir le nombre de TOUR qu'il y aura pour que tous les joueurs se rencontrent

    je sais que pour 16 joueurs, ça fait 4 tables, et il faut 5 tours

    je ne vois pas comment trouver ce nombre de tour pour par exemple 20 joueurs, 24, 32, ect ...

    et enfin, je me demande par quel moyen j'effectue le tirage au sort, pour être sur de jouer avec tout le monde, mais sans rencontrer 2 fois le même adversaire

    merci d'avance à ceux qui me liront
    Etes-vous certain de votre énoncé ?
    Prenez 8 joueurs
    A,B,C,D
    E,F,G,H
    A,E,… et puis plus moyen de mettre un joueur à cette table qui n'ait déjà pas rencontré A ou E.

    "tous les joueurs rencontrent tous les joueurs une seule fois" n'est pas possible pour le cas général.

    Ce que vous pouvez faire, c'est minimiser la différence entre le nombre de participation du joueur qui apparaîtra le plus et celui qui apparaîtra le moins et entre la paire qui se soit croisée le plus et celle qui se soit croisée le moins.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2010
    Messages : 59
    Points : 86
    Points
    86
    Par défaut
    Le sujet est clos? l'auteur de ce post n'a pas chercher plus?

    C'est dommage je trouve ce problème intéressant.

    Moi je commencerai mon raisonnement par:
    Si tout le monde doit jouer le même nombre de tour et qu'on dispose des table de jeux à 4 joueurs, il faut que ces propriété soient vérifiées:
    - on doit avoir 4 x m joueur.
    (intuitif)
    - on doit avoir 3 x n + 1 joueur.
    (si on suppose qu'une personne rencontre tout les joueurs, il faut qu'il rencontre n groupes de 3 joueurs différents)

    C'est conditions ne sont pas forcement suffisante, mais c'est un début pour déterminer le nombre de joueurs pour lesquelles on puisse résoudre ce problème.

    C'est un tournois de tarot?belotte?

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    salut

    non, je n'ai pas laissé tombé, je n'ai pas vu plus de réponses, et je cherchais des idées et solutions

    comme JeitEmgie me l'a fait remarqué il faut un nombre minimum de joueur pour que ce que je cherche à faire se vérifie

    j'arrive à la conclusion que je n'arriverai pas lol sauf peut être à éviter de faire les joueurs jouer trop ensemble

    c'est pour la belote

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2010
    Messages : 59
    Points : 86
    Points
    86
    Par défaut
    J'ai quelque éléments de réponse pour toi :p
    Si il te manques des joueurs, je suis candidat

    plus sérieusement, essaye de le faire sur un nombre fixe de joueurs,
    exemple 16 joueurs vu que 4 tables.
    Si t'as les table A B C D, et sur chaque table t'as les joueurs 1 2 3 4..
    en principe il faut 5 tour pour rencontré tout le monde..
    tu rencontres 3 joueurs 5 fois + toi = 5x3 +1 = 16

    premier tour:
    table A joueur A1 A2 A3 A4
    table B joueur B1 B2 B3 B4
    table C joueur C1 C2 C3 C4
    table D joueur D1 D2 D3 D4
    -> les A peuvent plus jouer entre eux, idem B C D

    deuxième tour: on garde le premier joueur de chaque table et pour le reste on laisse les même numéro jouer entre eux (dernière table les restant):
    table A joueur A1 B2 C2 D2
    table B joueur B1 A3 C3 D3
    table C joueur C1 A4 B4 D4
    table D joueur D1 A2 B3 C4
    -> les 2 ne peuvent plus joueur entre eux sauf le 2 exclu, idem pour 3 et 4

    troisième tour: tu peux faire jouer les joueur fixe du tour précédent, et le reste.. tu fais des diagonale sur le shcéma précédent?
    table A joueur A1 B1 C1 D1
    table B joueur B2 C3 D4 A2
    table C joueur C2 D3 A4 B3
    table D joueur D2 A3 B4 C4

    puis la je commence à sécher

    quatrième tour:
    cinquième tour:

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Une petite recherche sur le "Social Golfer Problem" devrait vous plaire.

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Une petite recherche sur le "Social Golfer Problem" devrait vous plaire.
    j'irai voir merci

    davly ce n'est pas très facile ! j'ai testé 16 joueurs et j'ai réussi à faire "à la main" 3 tours

    après, on est sur 16 joueurs, donc si le nombre varie, je ne sais pas trop :/

    j'essaie de trouver un moyen d'automatiser la dispertion, mais c'est pas simple :/

Discussions similaires

  1. [AC-2010] Créer des enregistrements par date à partir d'une période
    Par tangono dans le forum Access
    Réponses: 1
    Dernier message: 23/04/2013, 11h46
  2. [AC-2003] creer des feuilles excel a partir d'une liste deroulante access
    Par maclolo2 dans le forum IHM
    Réponses: 4
    Dernier message: 18/09/2011, 07h26
  3. Réponses: 9
    Dernier message: 25/01/2011, 12h32
  4. [XL-2003] imprimer des feuilles excel générées à partir d'une liste de données
    Par aminix9 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/02/2010, 14h48
  5. Groupe de radio à partir d'une liste
    Par LukasP. dans le forum Struts 2
    Réponses: 2
    Dernier message: 27/08/2009, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo