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 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 31 oct. 2015 à 12:04
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 31 oct. 2015 à 12:04
A voir également:
- Lister les combinaisons possibles...
- Combien de combinaisons possibles avec 4 chiffres - Forum Programmation
- Toutes les combinaisons possibles avec 4 chiffres - Forum Jeux vidéo
- Lister les disques cmd ✓ - Forum Windows
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
- 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
Utilisateur anonyme
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
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
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
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
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 ! :)