Se consideră o tablă de șah de dimensiune n. Să se plaseze pe tablă n regine astfel încât să nu existe două regine care să se atace.
4 ≤ n ≤ 10;
două regine se atacă dacă se află pe aceeași linie, aceeași coloană sau aceeași diagonală;
orice configurație validă a tablei este acceptată.
- - * -
* - - -
- - - *
- * - -
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
def regine_bkt(k):
global n,x
if k>=n:
afisSolutie()
else:
for alfa in range(n):
if posibil(k,alfa):
x[k]=alfa
regine_bkt(k+1)
def posibil(k,a):
global x
for i in range(k):
if x[i]==a:
return False
if abs(x[i]-a)==k-i:
return False
else:
return True
def afisSolutie():
global n,x,nsol
nsol+=1
print("\nSolutia",nsol,"x=",x)
for i in range(n):
linie=''
for j in range(n):
if x[j]==i:
linie+='R'
else:
linie+='.'
print(linie)
n=4
x=[0]*n
nsol=0
regine_bkt(0)
Explicație:
Alte întrebări interesante