Lister les combinaisons possibles...
Fermé
nicosob
Messages postés
3
Date d'inscription
vendredi 30 octobre 2015
Statut
Membre
Dernière intervention
30 octobre 2015
-
30 oct. 2015 à 09:04
Flachy Joe Messages postés 2101 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 7 novembre 2022 - 31 oct. 2015 à 12:04
Flachy Joe Messages postés 2101 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 7 novembre 2022 - 31 oct. 2015 à 12:04
A voir également:
- Lister les combinaisons possibles...
- Toutes les combinaisons possibles avec 3 chiffres ✓ - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
- Lister les disques cmd ✓ - Forum Windows
- Algorithme toutes les combinaisons possibles ✓ - Forum Programmation
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
2 réponses
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
30 oct. 2015 à 09:48
30 oct. 2015 à 09:48
Bonjour
selon le langage cible, la solution sera sensiblement différente.
Peux tu préciser ce langage?
selon le langage cible, la solution sera sensiblement différente.
Peux tu préciser ce langage?
Flachy Joe
Messages postés
2101
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 novembre 2022
257
30 oct. 2015 à 12:41
30 oct. 2015 à 12:41
La solution est un arbre, expl pour 10 clients et les chambre [R1:3, R2:4, R3:15] :
https://pix.toile-libre.org/upload/original/1446204851.jpg
A partir de la liste des places dans les chambres, on peut construire l'arbre de tous les remplissages possibles avec des imbrications de boucles ou une fonction récursive.
A partir de cet arbre, on coupe les branches qui contiennent plus de personnes placées que de places demandées et on obtient toutes les solutions pour un nombre donné.
https://pix.toile-libre.org/upload/original/1446204851.jpg
A partir de la liste des places dans les chambres, on peut construire l'arbre de tous les remplissages possibles avec des imbrications de boucles ou une fonction récursive.
A partir de cet arbre, on coupe les branches qui contiennent plus de personnes placées que de places demandées et on obtient toutes les solutions pour un nombre donné.
nicosob
Messages postés
3
Date d'inscription
vendredi 30 octobre 2015
Statut
Membre
Dernière intervention
30 octobre 2015
30 oct. 2015 à 14:15
30 oct. 2015 à 14:15
:) Merci beaucoup Joe !!
Le souci dans ton arbre c'est que chaque chambre n'est utilisée qu'une seule fois.
L'arbre n'est donc pas complet... Mais c'est une piste que je vais essayer de creuser.
Il me rend fou ce truc ! :D
Le souci dans ton arbre c'est que chaque chambre n'est utilisée qu'une seule fois.
L'arbre n'est donc pas complet... Mais c'est une piste que je vais essayer de creuser.
Il me rend fou ce truc ! :D
Flachy Joe
Messages postés
2101
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 novembre 2022
257
31 oct. 2015 à 12:04
31 oct. 2015 à 12:04
Ok, je viens de comprendre que R1, R2 et R3 sont des types de chambre.
Il suffit de faire une liste qui contient plusieurs occurrence de chaque type en entrée pour que ça revienne au même.
expl : 3 chambre R1, 4 R2 et 2 R3 donne une liste [ 3, 3, 3, 4, 4, 4, 4, 15, 15 ]
Mais ton arbre contiendra alors des branches équivalente du genre
(3 dans R1a , 2 dans R1b, 5 dans R3) = (2 dans R1a , 3 dans R1b, 5 dans R3)
Si tu ne cherche qu'avec des remplissages optimisés pour un max de personnes par chambre, ça devrait pouvoir se simplifier.
Il suffit de faire une liste qui contient plusieurs occurrence de chaque type en entrée pour que ça revienne au même.
expl : 3 chambre R1, 4 R2 et 2 R3 donne une liste [ 3, 3, 3, 4, 4, 4, 4, 15, 15 ]
Mais ton arbre contiendra alors des branches équivalente du genre
(3 dans R1a , 2 dans R1b, 5 dans R3) = (2 dans R1a , 3 dans R1b, 5 dans R3)
Si tu ne cherche qu'avec des remplissages optimisés pour un max de personnes par chambre, ça devrait pouvoir se simplifier.
30 oct. 2015 à 10:00
Merci pour l'intérêt porté à ma question.
A priori, le code finale est en php, mais honnêtement, je suis preneur d'une solution algorithmique pure, ou même d'une solution sur Excel ! :)