2012-03-10 3 views
1

I ont un ensemble de nombres:Toutes les combinaisons possibles de jeux

1,22 
1,46 
32,1 
1,9 
32,22 
1,14 
1,45 
1,33 
33,22 
45,22 
32,46 
32,9 
3,1 
3,9 
3,22 
3,32 
3,46 
9,22 
46,22 
46,45 
46,33 
15,1 
15,46 
15,6 
15,22 
15,3 
15,9 
15,45 
15,33 
15,32 
15,14 

J'ai besoin pour obtenir des combinaisons d'eux avec une règle que chaque nouvelle paire ne peut être ajouté si le dernier chiffre est le même que le premier dans la paire. Par exemple, si j'ai une paire {15,1}, la suivante ne peut être que {1,46} et la prochaine {46,45}, et la paire finale doit se terminer par le premier nombre de l'ensemble ensemble. Dans ce cas, ce pourrait être par exemple {45,1}.

Ainsi, le résultat final des jeux avec limite de 4 jeu serait

{15,1,1,46,46,45,45,1} 

je peux faire des jeux de puissance de base et de générer toutes les combinaisons possibles de jeu de nombres, mais cela semble être trop avancé pour moi.

Je peux faire C, Javascript ou PHP donc toute l'aide ou les solutions à cela sont très appréciées. Et pour plus de clarté, ce n'est pas un devoir, c'est juste quelque chose que j'aimerais apprendre et comprendre.

+0

peut vous pouvez trouver ici [ici] [1] [1]: http://stackoverflow.com/questions/3742506/php-array-combinations merci –

Répondre

0

Cela semble approprié si une structure de données graphique et quelques algorithmes de graphique sont appropriés. Votre graphique comprendrait des nœuds (dont chacun est un nombre) et des bords (dont chacun représente l'une de vos paires). Ensuite, écrivez la routine appropriée pour marcher autour du graphique. Il n'est pas tout à fait clair à partir de votre question quelles sont les règles de la promenade, mais je suppose que vous le savez.

EDIT

Bien sûr, je tiens à souligner que ce que vous avez déjà une structure de données du graphique, on appelle cela une liste de contiguïté. Google autour des algorithmes et des représentations.

+0

C'est en fait une bonne idée. Je vais y jeter un coup d'œil, mais je ne suis pas sûr si cela m'aide à créer toutes les différentes combinaisons. – jimmy

+0

Si tous les chemins que vous souhaitez tracer doivent se terminer à 1, démarrez-les et revenez en arrière. S'amuser. –

Questions connexes