Problème des 8 dames méthode en profondeur
Bonjour/ Bonsoir j'ai un petit soucis je doit faire un programme pour résoudre le problème des 8 dames j'ai déjà une base qui est celle ci:
et je doit rendre tout ceci plus efficace en utiliser la méthode en profondeur mais je suis perdu et ne sait pas comment faire merci d'avance pour votre aide
from time import time
L=[3,5,0,4,1,7,2,6]
def test(L):
a=True
for i in range(len(L)):
for j in range(i+1,len(L)):
if (abs(L[j]-L[i])/(j-i))==1 or L[i]==L[j]:
a=False
return a
L=[]
compt=0
t1=time()
for i in range (8):
for j in range (8):
for k in range (8):
for l in range (8):
for m in range (8):
for n in range (8):
for o in range (8):
for p in range (8):
L=[i,j,k,l,m,n,o,p]
if test(L):
print(L)
compt+=1
print(compt)
L=[]
t2=time()
print (test(L))
et je doit rendre tout ceci plus efficace en utiliser la méthode en profondeur mais je suis perdu et ne sait pas comment faire merci d'avance pour votre aide
2 réponses
-
Contributeurtu peux déjà rendre cela énormément plus efficace en travaillant sur ta fonction test().
-
Contributeur
-
Contributeur
-
-
Contributeur@Hugoje suppose que tu suis une formation qui explique ce concept de méthode en profondeur.
pour ce que j'en comprends, c'est exactement la méthode qui me vient à l'esprit si je voulais réaliser cela sans ordi.
-