Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/Tools/demo/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/Tools/demo/__pycache__/queens.cpython-36.pyc

3

� f��@s0dZdZGdd�d�Zdd�Zedkr,e�dS)z�
N queens problem.

The (well-known) problem is due to Niklaus Wirth.

This solution is inspired by Dijkstra (Structured Programming).  It is
a classic recursive backtracking approach.
�c@sNeZdZefdd�Zdd�Zddd�Zdd	�Zd
d�Zdd
�Z	dZ
dd�ZdS)�QueenscCs||_|j�dS)N)�n�reset)�selfr�r�6/opt/alt/python36/lib64/python3.6/Tools/demo/queens.py�__init__szQueens.__init__cCsP|j}dg||_dg||_dgd|d|_dgd|d|_d|_dS)N���)r�y�row�up�down�nfound)rrrrrrszQueens.resetr	cCsbx\t|j�D]N}|j||�r|j||�|d|jkr@|j�n|j|d�|j||�qWdS)Nr)�ranger�safe�place�display�solve�remove)r�xrrrrrs
zQueens.solvecCs,|j|o*|j||o*|j||S)N)r
rr)rrrrrrr&szQueens.safecCs4||j|<d|j|<d|j||<d|j||<dS)Nr)rr
rr)rrrrrrr)s

zQueens.placecCs4d|j|<d|j|<d|j||<d|j||<dS)Nr	)rr
rr)rrrrrrr/s

z
Queens.removecCs�|jd|_|jrdStdd|jd�xjt|jdd
d�D]T}tddd�x:t|j�D],}|j||kr|tddd�q\td	dd�q\Wtd�q@Wtdd|jd�dS)Nrz+-z--�+�|� )�end�Q�.���r)r�silent�printrrr)rrrrrrr7szQueens.displayN)r	)�__name__�
__module__�__qualname__�Nrrrrrrrrrrrrrs

rcCstddl}d}t}|jdd�dgkr0d}|jd=|jdd�rLt|jd�}t|�}||_|j�td|jd�dS)Nr	rr
z-nZFoundz
solutions.)	�sysr$�argv�intrrrr r)r%rr�qrrr�mainFsr)�__main__N)�__doc__r$rr)r!rrrr�<module>
s
8