Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python35/lib64/python3.5/Tools/demo/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python35/lib64/python3.5/Tools/demo/__pycache__/queens.cpython-35.pyc



��Yf��@sBdZdZGdd�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@speZdZedd�Zdd�Zddd�Zdd	�Zd
d�Zdd
�Z	dZ
dd�ZdS)�QueenscCs||_|j�dS)N)�n�reset)�selfr�r�6/opt/alt/python35/lib64/python3.5/Tools/demo/queens.py�__init__s	zQueens.__init__cCsf|j}dg||_dg||_dgd|d|_dgd|d|_d|_dS)N���)r�y�row�up�down�nfound)rrrrrrs	zQueens.resetr	cCs�xzt|j�D]i}|j||�r|j||�|d|jkrX|j�n|j|d�|j||�qWdS)Nr)�ranger�safe�place�display�solve�remove)r�xrrrrrs
zQueens.solvecCs0|j|o/|j||o/|j||S)N)r
rr)rrrrrrr&szQueens.safecCs@||j|<d|j|<d|j||<d|j||<dS)Nr)rr
rr)rrrrrrr)s

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

z
Queens.removecCs�|jd|_|jrdStdd|jd�x�t|jdd
d�D]p}tddd�xMt|j�D]<}|j||kr�tddd�qvtd	dd�qvWtd�qPWtdd|jd�dS)Nrz+-z--�+�|�end� �Q�.���r)r�silent�printrrr)rrrrrrr7s	 zQueens.displayN)�__name__�
__module__�__qualname__�Nrrrrrrrrrrrrrs
rcCs�ddl}d}t}|jdd�dgkrDd}|jd=|jdd�rjt|jd�}t|�}||_|j�td|jd�dS)Nr	rr
z-nZFoundz
solutions.)	�sysr$�argv�intrrrr r)r%rr�qrrr�mainFs
	
r)�__main__N)�__doc__r$rr)r!rrrr�<module>
s
8