📄 solutions to the 8-queens problem.htm
字号:
<!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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -