solutions to the 8-queens problem.htm
来自「8王后问题的演示程序,算法封装在类GAQueen」· HTM 代码 · 共 860 行 · 第 1/3 页
HTM
860 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://bridges.canterbury.ac.nz/features/eight.html -->
<HTML><HEAD><TITLE>Solutions to the 8-Queens Problem</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.2900.2722" name=GENERATOR><!-- Changed by: T. Bell, 14-Apr-2000 -->
<META content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot"
name=Template></HEAD>
<BODY vLink=#800080 link=#0000ff>
<H1 align=center>Solutions to the 8-Queens Problem</H1>
<P>This problem is to place 8 queens on the chess board so that they do not
check each other. This problem is probably as old as the chess game itself, and
thus its origin is not known, but it is known that Gauss studied this problem.
If we want to find a single solution, it is not difficult as shown below. If we
want to find all possible solutions, the problem is difficult and the backtrack
method is the only known method. For 8-queen, we have 92 solutions. If we
exclude symmetry, there are 12 solutions. </P>
<P>Consider the general case of the n-Queens Problem </P>
<P>If n is a prime number, a solution is easily found by drawing a straight line
in the (n, n) finite plane. Since no two straight lines can intersect at two
points, a straight line y=ax+b where a is not equal to 1 or -1 can give a
solution. Coordinates start from 0. </P>
<TABLE cellSpacing=0 width=255 border=0>
<TBODY>
<TR>
<TD vAlign=center colSpan=9>
<P>Example 1: n = 7, y = 2x</P></TD></TR>
<TR>
<TD vAlign=center width="10%" height=18><FONT size=2>
<P>6 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=18>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=18>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=18>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=18><B><FONT
color=#ffffff size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=18>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=18>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=18>
<P></P></TD>
<TD vAlign=center width="20%" height=18 rowSpan=8>
<P></P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>5 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>4 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff><B><FONT size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>3 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff><B><FONT size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>2 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%" height=15><FONT size=2>
<P>1 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=15>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=15>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=15>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=15>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=15><B><FONT
color=#ffffff size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff height=15>
<P></P></TD>
<TD vAlign=center width="10%" bgColor=#000000 height=15>
<P></P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>0 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff><B><FONT size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%">
<P> </P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>0 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>1 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>2 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>3 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>4 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>5 </FONT></P></TD>
<TD vAlign=center width="10%"><FONT size=2>
<P>6 </FONT></P></TD></TR>
<TR>
<TD vAlign=center colSpan=9>
<P> </P>
<P>n = 7, y = 3x + 1</P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>6 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff><B><FONT size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="20%" rowSpan=8>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>5 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>4 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>3 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff><B><FONT size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>2 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>1 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#000000><B><FONT color=#ffffff
size=2>
<P align=center>X</B></FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD></TR>
<TR>
<TD vAlign=center width="10%"><FONT size=2>
<P>0 </FONT></P></TD>
<TD vAlign=center width="10%" bgColor=#ffffff>
<P> </P></TD>
<TD vAlign=center width="10%" bgColor=#000000>
<P> </P></TD>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?