Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question programmation C++

Programme équilibrage

    9 août 2019 à 0:02:26

    Bonjour,

    Voila je cherche a crée un programme qui sépare des joueurs dans deux équipes tout en équilibrant leur points

    Imaginons 4 joueurs 

    J1,J2,J3,J4

    J1 à un score de 200

    J2 500

    J3 100

    J4 300

    et en gros je veux équilibrer pour que les scores soit a peut près égal dans chaque équipe.

    J'aimerai juste un petit coup de pouce pour avancé dans mon programme.

    Merci d'avance pour vos réponses . 

    • Partager sur Facebook
    • Partager sur Twitter
      9 août 2019 à 0:46:07

      Bonjour,

      Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Mauvais titre

      Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

      Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

      De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

      Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

      Pour modifier votre titre, éditez le premier message de votre sujet.

      (titre originel : Question programmation C++ )

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        9 août 2019 à 9:41:37

        Salut,

        Si le nombre de joueurs n'est pas trop important, tu peux utiliser une méthode brute force (bourrin en gros). Tu testes toutes les combinaisons d'équipe possible et tu ne gardes que celle où les scores des deux équipes sont les plus proches.

        Après si le nombre de joueurs augmente, tu devras mettre en place d'autres stratégies.

        En espérant t'avoir aider,

        Alexandre MELIN

        • Partager sur Facebook
        • Partager sur Twitter
          9 août 2019 à 9:57:25

          Yo

          Est-ce que c'est juste le nombre de points qui compte, ou bien le nombre de joueur à son importance?
          Je veux dire est ce que si tu as

          J1 : 500 pts

          J2, J3, J4 : 150 pts. L'algo devra séparer en J1 / J2,J3,J4 ou bien il fera quand même J1,J2 / J3, J4 ? Et est-ce que ça sera approximatif ou bien ça tombera toujours égal? (500 d'un côté signifie forcement 500 de l 'autre ou bien on peut avoir un écart?)

          • Partager sur Facebook
          • Partager sur Twitter

          « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
          D. Mendeleïev

            9 août 2019 à 11:34:38

            Si tu ne recherches pas la solution optimale, mais une solution approchée, tu peux effectuer un tri croissant et prendre une valeur sur deux pur chaque équipe.

            Evidemment, celle qui commencera à la première valeur aura forcément moins de points que l'autre, mis pour un grand nombre de valeur, ça devrait être assez équilibré.

            • Partager sur Facebook
            • Partager sur Twitter
              9 août 2019 à 11:50:27

              zoup a écrit:

              Si tu ne recherches pas la solution optimale


              Parce que si tu recherches une solution optimale, il s'agit d'un problème NP-complet, semblable au problème du sac à dos

              ça devient très compliqué ><

              • Partager sur Facebook
              • Partager sur Twitter
              Dream on, Dream on, Dream until your dream comes true
                9 août 2019 à 14:19:18

                romantik a écrit:

                zoup a écrit:

                Si tu ne recherches pas la solution optimale


                Parce que si tu recherches une solution optimale, il s'agit d'un problème NP-complet, semblable au problème du sac à dos

                ça devient très compliqué ><


                Un algorithme en programmation dynamique pourrait très bien faire le taf ici. Mais je pense que c'est un peu overkill pour cette situation (quoique cela dépend du nombre de joueurs).
                • Partager sur Facebook
                • Partager sur Twitter
                  9 août 2019 à 14:45:28

                  Bonjour,

                  Si on suppose que toutes les équipes de de  personnes. La solution la plus équilibrée globalement est :
                  - trier toutes les personnes par points.
                  - mettre en équipe le premier et le dernier de cette liste
                  - recommencer pour les autres (donc second avec avant-dernier ...)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  En recherche d'emploi.

                    9 août 2019 à 16:45:19

                    Bonne idée, meilleure que d'en prendre un sur deux.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 août 2019 à 17:34:38

                      C'est sûrement la solution la plus simple côté programmeur, mais à coup sûr une des plus chiante côté joueur. (expérience de gameur mécontent).

                      Pour expliquer, essaie d'imaginer une course 2x100m en relais avec 2 équipes. Une première composée d'un champion olympique et d'une personne obèse et l'autre composé deux personnes lambda pas forcément athlétiques. Ça paraît peut-être équilibré sur le papier mais en pratique, côté coureurs,  ce sera beaucoup plus chiant pour le champion olympique pour des raisons evidentes.

                      Raisons evidentes AKA écart-type. Tu devrais t'y intéresser un petit peu si tu veux un truc un peu plus d'un côté joueur.

                      En bref, la moyenne tout seul c'est bien, avec l'écart-type c'est mieux. 

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Eug

                        9 août 2019 à 17:43:55

                        Meme si dans l'Absolue c'est chiant ( l'athlete etant handicapé par l'obese ) , ca reste la configuration la plus optimale.
                        Sinon quoi , on met l'athlete avec un lambda et l'obese avec un lambda ?
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Question programmation C++

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown