.


:




:

































 

 

 

 


N




N . N , . , : , , .

, 1 N. , , , :

Diagonal = N + Column - Row (type 1)

Diagonal = Row + Column - 1 (type 2)

1 1 , Tun1 (\), Tun2 - (/). 9.5. Tun2 44.

 

| 1 | 2 | 3 | 4 |

1 | 1 | 2 | 3 | 4 |

2 | 2 | 3 | 4 | 5 |

3 | 3 | 4 | 5 | 6 |

4 | 4 | 5 | 6 | 7 |

 

. 9.5. 2 .

 

N , , , .

:

queen = q(integer, integer).

 

. , :

queens = queen*.

, , , , . ֳ :

freelist = integer*.

 

', :

board = board(queens, freelist,freelist,freelist,freelist)

 

freelist , 1 2.

, 44 :

board([],[1,2,3,4],[1,2,3,4],[1,2,3,4,5,6,7],[1,2,3,4,5,6,7]),

:

 

board([q(1,1)],[2,3,4],[2,3,4],[1,2,3,4,5,6,7],[2,3,4,5,6,7])

 

, , N . placeN(integer, board, board) . , . freerows freecols - :

placeN(_, board(D,[],[],X,Y), board(D,[],[],X,Y)):-!.

placeN(_, Board1, Rsult):-





:


: 2015-10-01; !; : 339 |


:

:

,
==> ...

1966 - | 1802 -


© 2015-2024 lektsii.org - -

: 0.012 .