各位,我拿到题时,像你们样,也不知...
后来看了几个关于它的游戏,才知,放在格里面,皇后的走法是"米"字型,且可以像"象棋"的车一样横走竖走,不受格数的限制,遇神吃神,遇佛吃佛.我程序中只有每二个方法(method2.pas)达到他的要求.但是求得却是无解,所以贴出来给大家看看.
如果有什么问题请指出.
后来看了几个关于它的游戏,才知,放在格里面,皇后的走法是"米"字型,且可以像"象棋"的车一样横走竖走,不受格数的限制,遇神吃神,遇佛吃佛.我程序中只有每二个方法(method2.pas)达到他的要求.但是求得却是无解,所以贴出来给大家看看.
如果有什么问题请指出.
解决方案 »
- 【求救】EhLib3.3中DbGridEh用Ctrl+F调出查找框报错!
- 想灌水的进,不过没有分
- 怎么打印delphi排好的界面?
- DELPHI的HELP的帮助里怎么有好多的命令都查不到?我用的是DELPHI6
- TDateTime如何进行下面的计算?
- 有关触发器的问题?请各位老大帮帮忙?
- 如何定义一个表字段的afterscroll 事件 ,把它写在存放多个自定义函数的另一个单元unit里?
- Delphi中如何使用Execl?
- 100大元悬赏,救救我的工作吧?
- 有关midas,ado,dcom编程的问题
- 哪里有第二方DX控件的 新的ExpressPrinting System 下载包括Report Links.(主要是找ExpressQuantumGrid的)?
- 哪有Delphi6 电子版书?
MaxQueens = 8;Var
Chessboard: Array [1..MaxQueens] Of Integer;
ResultCounter: Integer;Function VerifyStep(Step: Integer): Boolean;
Var
Index: Integer;
Begin
Result := False;
For Index := 1 To Step-1 Do
Begin
If (Chessboard[Index]=Chessboard[Step]) Or
(Abs(Chessboard[Index]-Chessboard[Step])=(Step-Index))
Then
Begin
Exit;
End;
End;
Result := True;
End;Procedure OutputResult;
Var
Step, Index: Integer;
Begin
Inc(ResultCounter);
WriteLn('Result ', ResultCounter, ':');
For Step := 1 To MaxQueens Do
Begin
For Index := 1 To MaxQueens Do
Begin
If Chessboard[Step] = Index Then
Begin
Write('* ');
End
Else
Begin
Write('. ');
End;
End;
WriteLn;
End;
WriteLn;
End;Procedure SearchStep(Step: Integer);
Var
Index: Integer;
Begin
If Step>MaxQueens Then
Begin
OutputResult;
Exit;
End; For Index := 1 To MaxQueens Do
Begin
Chessboard[Step] := Index;
If VerifyStep(Step) Then SearchStep(Step+1);
End;
End;Begin
ResultCounter := 0;
SearchStep(1);
Write('Search finished. Press Enter...');
ReadLn;
End.
end end;{BACKTRACK} begin answer:=0; fillchar(x,sizeof(x),0); write('n=');readln(n); BACKTRACK; writeln('answer is ',answer); end.
原来是程序的错误。嘻嘻。
请到这里看第二个文件(新的程序),答案一大堆。
http://www.csdn.net/filebbs/read_topic.asp?id=764这个其中的一些,我Copy一些。第1皇后的位置是:[0][0]
第2皇后的位置是:[1][5]
第3皇后的位置是:[2][7]
第4皇后的位置是:[3][2]
第5皇后的位置是:[4][6]
第6皇后的位置是:[5][3]
第7皇后的位置是:[6][1]
第8皇后的位置是:[7][4]第1皇后的位置是:[0][0]
第2皇后的位置是:[1][6]
第3皇后的位置是:[2][3]
第4皇后的位置是:[3][5]
第5皇后的位置是:[4][7]
第6皇后的位置是:[5][1]
第7皇后的位置是:[6][4]
第8皇后的位置是:[7][2]第1皇后的位置是:[0][0]
第2皇后的位置是:[1][6]
第3皇后的位置是:[2][4]
第4皇后的位置是:[3][7]
第5皇后的位置是:[4][1]
第6皇后的位置是:[5][3]
第7皇后的位置是:[6][5]
第8皇后的位置是:[7][2]第1皇后的位置是:[0][1]
第2皇后的位置是:[1][3]
第3皇后的位置是:[2][5]
第4皇后的位置是:[3][7]
第5皇后的位置是:[4][2]
第6皇后的位置是:[5][0]
第7皇后的位置是:[6][6]
第8皇后的位置是:[7][4]第1皇后的位置是:[0][1]
第2皇后的位置是:[1][4]
第3皇后的位置是:[2][6]
第4皇后的位置是:[3][0]
第5皇后的位置是:[4][2]
第6皇后的位置是:[5][7]
第7皇后的位置是:[6][5]
第8皇后的位置是:[7][3]第1皇后的位置是:[0][1]
第2皇后的位置是:[1][4]
第3皇后的位置是:[2][6]
第4皇后的位置是:[3][3]
第5皇后的位置是:[4][0]
第6皇后的位置是:[5][7]
第7皇后的位置是:[6][5]
第8皇后的位置是:[7][2]第1皇后的位置是:[0][1]
第2皇后的位置是:[1][5]
第3皇后的位置是:[2][0]
第4皇后的位置是:[3][6]
第5皇后的位置是:[4][3]
第6皇后的位置是:[5][7]
第7皇后的位置是:[6][2]
第8皇后的位置是:[7][4]