(PASCAL八皇后问题解题报告.docVIP

  • 5
  • 0
  • 约4.04千字
  • 约 5页
  • 2017-01-28 发布于北京
  • 举报
(PASCAL八皇后问题解题报告

八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。 现求n皇后的解法。 本题可以一个二维数组,放了皇后用1表示,没放皇后用0表示。 然后用深度优先搜索设计程序。 程序如下: var a:array[1..100,1..100]of integer; h,x,y:array[-100..100]of boolean; i,k,n,f,m:integer; procedure t(i:integer);var j:integer; //不可定为全程变量 begin for j:=1 to n do if h[j] and x[i+j] and y[i-j] then begin a[i,j]:=1; h[j]:=false; x[i+j]:=false; y[i-j]:=false;

文档评论(0)

1亿VIP精品文档

相关文档