赞
踩
目录
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
从图中可以看出,当表格为2*4时有6种摆法。在第一行(0,1)和(0,2)位置放置第一个皇后后,第二行只有唯一位置。而在第一行(0,0)和(0,3)位置摆放时,第二行可以有两个摆放位置。这种情况是在row*col(col大于row)表格中会出现的情况。
1. 对于保持皇后不在同一行,只要在摆放时从上往下(反之亦然)即可。
2. 对于保持皇后不在同一列, 只要遍历摆放位置如(x,y)所在列y即可。
3. 对于保持皇后不在同一斜线,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。