切换到宽版
  • 6004阅读
  • 3回复

求N皇后的PASCAL代码 [复制链接]

上一主题 下一主题
离线颜茹暖
 
只看楼主 倒序阅读 0 发表于: 2008-02-05
如题...
很多教案上都用的是C++,比如说吴文虎教授的 ....
看的我云里雾里.....所以....求救 哈~  谢谢各位大牛......
离线doctorlee
只看该作者 1 发表于: 2008-02-05
program Project1;
const max=10000;
type arr=array[1..max]of integer;
var a:arr;  n:integer;
procedure aqueen(n:integer);
  var i,j,k,total:integer;
  begin
    total:=0;
    for i:=1 to n do a:=1;
    i:=1;
    while true do
      begin
        if (a<=n) then
          begin
            k:=1;
            while (k<=i-1)and ((a-a[k])*(abs(a-a[k])-abs(i-k))<>0) do
              k:=k+1;
            if k<=i-1 then begin inc(a); continue; end;
            inc(i);
            if (i<=n) then continue;
            inc(total); write(total:5,':');
            for j:=1 to n do write(a[j]:5); writeln;
            inc(a[n]);  i:=n;  continue;
          end
        else
          begin
            a:=1;  i:=i-1;
            if i<1 then break;
            inc(a);  continue;
          end;
      end;
  end;
begin
    readln(n);
    aqueen(n);
    readln;
end.
离线颜茹暖
只看该作者 2 发表于: 2008-02-08
谢谢~
小女子感激不尽~
离线yonghu86cs
只看该作者 3 发表于: 2008-02-20
似乎和我们讲的不一样
快速回复
限100 字节
 
上一个 下一个