Le problème des 5 dames :
Il s'agit de contrôler toutes les case d'un échiquier avec 5 dames qui
ne s'attaquent pas entre elles. J'en ai réalisé un petit programme en
JavaScript à :
http://www.cf29.com/design/dame5.php
(il est différent du célèbre problème des 8 dames pour lequel j'ai
trouvé des solutions)
Je voudrais trouver toutes les solutions possibles. J'ai déjà fait une
grosse partie du travail en Python mais je n'arrive pas à finaliser.
Comment vous y prendriez-vous ?
Voulez-vous voir le code
(bien commenté) que j'ai déjà réalisé et me
dire ce que je dois ajouter pour générer toutes les positions sous les
conditions définies ? Je suis bloqué après avoir obtenu la première
solution et ne sais pas comment lancer la fonction pour trouver la
suivante.
Le problème des 5 dames :
Il s'agit de contrôler toutes les case d'un échiquier avec 5 dames qui
ne s'attaquent pas entre elles. J'en ai réalisé un petit programme en
JavaScript à :
http://www.cf29.com/design/dame5.php
(il est différent du célèbre problème des 8 dames pour lequel j'ai
trouvé des solutions)
Je voudrais trouver toutes les solutions possibles. J'ai déjà fait une
grosse partie du travail en Python mais je n'arrive pas à finaliser.
Comment vous y prendriez-vous ?
Voulez-vous voir le code
(bien commenté) que j'ai déjà réalisé et me
dire ce que je dois ajouter pour générer toutes les positions sous les
conditions définies ? Je suis bloqué après avoir obtenu la première
solution et ne sais pas comment lancer la fonction pour trouver la
suivante.
Le problème des 5 dames :
Il s'agit de contrôler toutes les case d'un échiquier avec 5 dames qui
ne s'attaquent pas entre elles. J'en ai réalisé un petit programme en
JavaScript à :
http://www.cf29.com/design/dame5.php
(il est différent du célèbre problème des 8 dames pour lequel j'ai
trouvé des solutions)
Je voudrais trouver toutes les solutions possibles. J'ai déjà fait une
grosse partie du travail en Python mais je n'arrive pas à finaliser.
Comment vous y prendriez-vous ?
Voulez-vous voir le code
(bien commenté) que j'ai déjà réalisé et me
dire ce que je dois ajouter pour générer toutes les positions sous les
conditions définies ? Je suis bloqué après avoir obtenu la première
solution et ne sais pas comment lancer la fonction pour trouver la
suivante.
On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
On Dec 25, 7:28 pm, William Dode wrote:On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
J'ai un peu honte de mon code car je crois que je m'y suis mal pris
dès le départ.
J'arrive en effet à générer la première solution de 5 dames mais ne
sais pas comment passer à la deuxième.
Je génère les positions des 5 dames d'un coup :-) Il faudrait donc
ajouter les dames une par une et non les 5 d'un coup., n'est-ce pas ?
Ce que je n'arrive pas à faire c'est ce problème de récursion, je ne
vois comment écrire la fonction.
Comment poser la 1e dame sur toutes les cases ?
Comment poser la 2e en pouvant inclure des conditions (rang, colonne,
diagonales différentes), j'ai déjà une fonction pour ça.
Etc...
En fait ça s'arrête quand il n'y a plus de place pour en mettre une
6e, c'est à dire que toutes les cases sont contrôlées et ça fait une
solution valide.
Je suis débutant en Python et je manque certainement de bases solides
mais je trouve ça très intéressant. J'ai peut-être choisi un problème
trop difficile à mon niveau.
Donc William si tu as trouvé un moyen de le faire, je suis très
intéressé.
On Dec 25, 7:28 pm, William Dode <w...@flibuste.net> wrote:
On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
J'ai un peu honte de mon code car je crois que je m'y suis mal pris
dès le départ.
J'arrive en effet à générer la première solution de 5 dames mais ne
sais pas comment passer à la deuxième.
Je génère les positions des 5 dames d'un coup :-) Il faudrait donc
ajouter les dames une par une et non les 5 d'un coup., n'est-ce pas ?
Ce que je n'arrive pas à faire c'est ce problème de récursion, je ne
vois comment écrire la fonction.
Comment poser la 1e dame sur toutes les cases ?
Comment poser la 2e en pouvant inclure des conditions (rang, colonne,
diagonales différentes), j'ai déjà une fonction pour ça.
Etc...
En fait ça s'arrête quand il n'y a plus de place pour en mettre une
6e, c'est à dire que toutes les cases sont contrôlées et ça fait une
solution valide.
Je suis débutant en Python et je manque certainement de bases solides
mais je trouve ça très intéressant. J'ai peut-être choisi un problème
trop difficile à mon niveau.
Donc William si tu as trouvé un moyen de le faire, je suis très
intéressé.
On Dec 25, 7:28 pm, William Dode wrote:On 24-12-2007, cf29 wrote
Récursivement, pose de la première dame sur toutes les positions, puis
la seconde etc... Si la 5eme peut se poser ça fait une solution.
J'ai un peu honte de mon code car je crois que je m'y suis mal pris
dès le départ.
J'arrive en effet à générer la première solution de 5 dames mais ne
sais pas comment passer à la deuxième.
Je génère les positions des 5 dames d'un coup :-) Il faudrait donc
ajouter les dames une par une et non les 5 d'un coup., n'est-ce pas ?
Ce que je n'arrive pas à faire c'est ce problème de récursion, je ne
vois comment écrire la fonction.
Comment poser la 1e dame sur toutes les cases ?
Comment poser la 2e en pouvant inclure des conditions (rang, colonne,
diagonales différentes), j'ai déjà une fonction pour ça.
Etc...
En fait ça s'arrête quand il n'y a plus de place pour en mettre une
6e, c'est à dire que toutes les cases sont contrôlées et ça fait une
solution valide.
Je suis débutant en Python et je manque certainement de bases solides
mais je trouve ça très intéressant. J'ai peut-être choisi un problème
trop difficile à mon niveau.
Donc William si tu as trouvé un moyen de le faire, je suis très
intéressé.
la mon code est vraiment pas optimisé... est-il correct d'ailleur ? j e
trouve 728 solutions.
la mon code est vraiment pas optimisé... est-il correct d'ailleur ? j e
trouve 728 solutions.
la mon code est vraiment pas optimisé... est-il correct d'ailleur ? j e
trouve 728 solutions.
Je trouve aussi 728 solutions (si donc l'on compte comme distinctes des
solutions qui ne diffèrent que par une rotation ou une réflexion) a vec
le code suivant
Je trouve aussi 728 solutions (si donc l'on compte comme distinctes des
solutions qui ne diffèrent que par une rotation ou une réflexion) a vec
le code suivant
Je trouve aussi 728 solutions (si donc l'on compte comme distinctes des
solutions qui ne diffèrent que par une rotation ou une réflexion) a vec
le code suivant
placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
On Dec 26, 5:56 pm, Boris Borcic wrote:placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
Merci, ça a l'air intéressant mais Python n'est pas d'accord avec l a
syntaxe !?
On Dec 26, 5:56 pm, Boris Borcic <bbor...@gmail.com> wrote:
placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
Merci, ça a l'air intéressant mais Python n'est pas d'accord avec l a
syntaxe !?
On Dec 26, 5:56 pm, Boris Borcic wrote:placees.append(filter(placees[-1].__lt__,positions)
if placees else positions)
Merci, ça a l'air intéressant mais Python n'est pas d'accord avec l a
syntaxe !?