八皇后问题演示
2020-12-31 12:13
八皇后问题是一个经典的组合数学与算法问题,目标是在8×8的国际象棋棋盘上放置八个皇后,使得任意两个皇后都不能处于同一行、同一列或同一斜线上。该 GeoGebra 范例利用 Polygon、Sequence 和 If 等命令构建了棋盘网格,并通过坐标点(如 p11 到 p88)的排列组合,直观地展示了八皇后问题的约束条件与可能的解法布局。
所属专题
用GeoGebra制作数学游戏
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.620.0" app="classic" platform="w" id="99594036-78a4-4857-94e3-3f662eac6a4a" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/apps/xsd/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="827" height="806" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.3542926239419589" orientation="1" />
</panes>
<views>
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 551 550 11 , 20 22 21 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="false" inframe="false" stylebar="false" location="1,1,1" size="500" window="100,100,600,400" />
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="true" location="1,1" size="300" window="100,100,600,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 1009 || 66 68 || 6" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="4097" visible="false" inframe="false" stylebar="true" location="1,1" size="395" window="-97,263,1574,786" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="827" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="true" location="3" size="293" tab="ALGEBRA" window="84,0,600,1047" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="128" visible="false" inframe="false" stylebar="false" location="1" size="480" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
</views>
<toolbar show="false" items="0 39 73 62 | 1 501 67 , 5 19 , 72 75 76 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 14 68 | 30 29 54 32 31 33 | 25 17 26 60 52 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="false" cmd="true" top="algebra" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="827" height="806"/>
<coordSystem xZero="47.47500000000016" yZero="635.925" scale="66.54999999999998" yscale="66.55"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="2" rightAngleStyle="1" checkboxSize="26" gridType="3"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2" max="2" step="1"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<command name="Polygon">
<input a0="{(2 - 0.5, 1 - 0.5), (2 + 0.5, 1 - 0.5), (2 + 0.5, 1 + 0.5), (2 - 0.5, 1 + 0.5)}"/>
<output a0="p21"/>
</command>
<element type="polygon" label="p21">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,1))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 1 - 0.5), (3 + 0.5, 1 - 0.5), (3 + 0.5, 1 + 0.5), (3 - 0.5, 1 + 0.5)}"/>
<output a0="p31"/>
</command>
<element type="polygon" label="p31">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,1))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 1 - 0.5), (4 + 0.5, 1 - 0.5), (4 + 0.5, 1 + 0.5), (4 - 0.5, 1 + 0.5)}"/>
<output a0="p41"/>
</command>
<element type="polygon" label="p41">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,1))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 1 - 0.5), (5 + 0.5, 1 - 0.5), (5 + 0.5, 1 + 0.5), (5 - 0.5, 1 + 0.5)}"/>
<output a0="p51"/>
</command>
<element type="polygon" label="p51">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,1))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 1 - 0.5), (6 + 0.5, 1 - 0.5), (6 + 0.5, 1 + 0.5), (6 - 0.5, 1 + 0.5)}"/>
<output a0="p61"/>
</command>
<element type="polygon" label="p61">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,1))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 1 - 0.5), (7 + 0.5, 1 - 0.5), (7 + 0.5, 1 + 0.5), (7 - 0.5, 1 + 0.5)}"/>
<output a0="p71"/>
</command>
<element type="polygon" label="p71">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,1))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 1 - 0.5), (8 + 0.5, 1 - 0.5), (8 + 0.5, 1 + 0.5), (8 - 0.5, 1 + 0.5)}"/>
<output a0="p81"/>
</command>
<element type="polygon" label="p81">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,1))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 1 - 0.5), (1 + 0.5, 1 - 0.5), (1 + 0.5, 1 + 0.5), (1 - 0.5, 1 + 0.5)}"/>
<output a0="p11"/>
</command>
<element type="polygon" label="p11">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,1))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 2 - 0.5), (7 + 0.5, 2 - 0.5), (7 + 0.5, 2 + 0.5), (7 - 0.5, 2 + 0.5)}"/>
<output a0="p72"/>
</command>
<element type="polygon" label="p72">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,2))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 2 - 0.5), (6 + 0.5, 2 - 0.5), (6 + 0.5, 2 + 0.5), (6 - 0.5, 2 + 0.5)}"/>
<output a0="p62"/>
</command>
<element type="polygon" label="p62">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,2))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 2 - 0.5), (5 + 0.5, 2 - 0.5), (5 + 0.5, 2 + 0.5), (5 - 0.5, 2 + 0.5)}"/>
<output a0="p52"/>
</command>
<element type="polygon" label="p52">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,2))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 2 - 0.5), (4 + 0.5, 2 - 0.5), (4 + 0.5, 2 + 0.5), (4 - 0.5, 2 + 0.5)}"/>
<output a0="p42"/>
</command>
<element type="polygon" label="p42">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,2))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 2 - 0.5), (3 + 0.5, 2 - 0.5), (3 + 0.5, 2 + 0.5), (3 - 0.5, 2 + 0.5)}"/>
<output a0="p32"/>
</command>
<element type="polygon" label="p32">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,2))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 2 - 0.5), (2 + 0.5, 2 - 0.5), (2 + 0.5, 2 + 0.5), (2 - 0.5, 2 + 0.5)}"/>
<output a0="p22"/>
</command>
<element type="polygon" label="p22">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,2))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 2 - 0.5), (1 + 0.5, 2 - 0.5), (1 + 0.5, 2 + 0.5), (1 - 0.5, 2 + 0.5)}"/>
<output a0="p12"/>
</command>
<element type="polygon" label="p12">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,2))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 2 - 0.5), (8 + 0.5, 2 - 0.5), (8 + 0.5, 2 + 0.5), (8 - 0.5, 2 + 0.5)}"/>
<output a0="p82"/>
</command>
<element type="polygon" label="p82">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,2))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 3 - 0.5), (7 + 0.5, 3 - 0.5), (7 + 0.5, 3 + 0.5), (7 - 0.5, 3 + 0.5)}"/>
<output a0="p73"/>
</command>
<element type="polygon" label="p73">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,3))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 3 - 0.5), (6 + 0.5, 3 - 0.5), (6 + 0.5, 3 + 0.5), (6 - 0.5, 3 + 0.5)}"/>
<output a0="p63"/>
</command>
<element type="polygon" label="p63">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,3))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 3 - 0.5), (5 + 0.5, 3 - 0.5), (5 + 0.5, 3 + 0.5), (5 - 0.5, 3 + 0.5)}"/>
<output a0="p53"/>
</command>
<element type="polygon" label="p53">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,3))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 3 - 0.5), (4 + 0.5, 3 - 0.5), (4 + 0.5, 3 + 0.5), (4 - 0.5, 3 + 0.5)}"/>
<output a0="p43"/>
</command>
<element type="polygon" label="p43">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,3))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 3 - 0.5), (3 + 0.5, 3 - 0.5), (3 + 0.5, 3 + 0.5), (3 - 0.5, 3 + 0.5)}"/>
<output a0="p33"/>
</command>
<element type="polygon" label="p33">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,3))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 3 - 0.5), (2 + 0.5, 3 - 0.5), (2 + 0.5, 3 + 0.5), (2 - 0.5, 3 + 0.5)}"/>
<output a0="p23"/>
</command>
<element type="polygon" label="p23">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,3))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 3 - 0.5), (1 + 0.5, 3 - 0.5), (1 + 0.5, 3 + 0.5), (1 - 0.5, 3 + 0.5)}"/>
<output a0="p13"/>
</command>
<element type="polygon" label="p13">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,3))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 3 - 0.5), (8 + 0.5, 3 - 0.5), (8 + 0.5, 3 + 0.5), (8 - 0.5, 3 + 0.5)}"/>
<output a0="p83"/>
</command>
<element type="polygon" label="p83">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,3))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 4 - 0.5), (6 + 0.5, 4 - 0.5), (6 + 0.5, 4 + 0.5), (6 - 0.5, 4 + 0.5)}"/>
<output a0="p64"/>
</command>
<element type="polygon" label="p64">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,4))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 4 - 0.5), (4 + 0.5, 4 - 0.5), (4 + 0.5, 4 + 0.5), (4 - 0.5, 4 + 0.5)}"/>
<output a0="p44"/>
</command>
<element type="polygon" label="p44">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,4))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 4 - 0.5), (3 + 0.5, 4 - 0.5), (3 + 0.5, 4 + 0.5), (3 - 0.5, 4 + 0.5)}"/>
<output a0="p34"/>
</command>
<element type="polygon" label="p34">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,4))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 4 - 0.5), (2 + 0.5, 4 - 0.5), (2 + 0.5, 4 + 0.5), (2 - 0.5, 4 + 0.5)}"/>
<output a0="p24"/>
</command>
<element type="polygon" label="p24">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,4))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 4 - 0.5), (1 + 0.5, 4 - 0.5), (1 + 0.5, 4 + 0.5), (1 - 0.5, 4 + 0.5)}"/>
<output a0="p14"/>
</command>
<element type="polygon" label="p14">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,4))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 4 - 0.5), (5 + 0.5, 4 - 0.5), (5 + 0.5, 4 + 0.5), (5 - 0.5, 4 + 0.5)}"/>
<output a0="p54"/>
</command>
<element type="polygon" label="p54">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,4))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 4 - 0.5), (7 + 0.5, 4 - 0.5), (7 + 0.5, 4 + 0.5), (7 - 0.5, 4 + 0.5)}"/>
<output a0="p74"/>
</command>
<element type="polygon" label="p74">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,4))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 4 - 0.5), (8 + 0.5, 4 - 0.5), (8 + 0.5, 4 + 0.5), (8 - 0.5, 4 + 0.5)}"/>
<output a0="p84"/>
</command>
<element type="polygon" label="p84">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,4))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 5 - 0.5), (7 + 0.5, 5 - 0.5), (7 + 0.5, 5 + 0.5), (7 - 0.5, 5 + 0.5)}"/>
<output a0="p75"/>
</command>
<element type="polygon" label="p75">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,5))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 5 - 0.5), (5 + 0.5, 5 - 0.5), (5 + 0.5, 5 + 0.5), (5 - 0.5, 5 + 0.5)}"/>
<output a0="p55"/>
</command>
<element type="polygon" label="p55">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,5))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 5 - 0.5), (4 + 0.5, 5 - 0.5), (4 + 0.5, 5 + 0.5), (4 - 0.5, 5 + 0.5)}"/>
<output a0="p45"/>
</command>
<element type="polygon" label="p45">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,5))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 5 - 0.5), (3 + 0.5, 5 - 0.5), (3 + 0.5, 5 + 0.5), (3 - 0.5, 5 + 0.5)}"/>
<output a0="p35"/>
</command>
<element type="polygon" label="p35">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,5))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 5 - 0.5), (2 + 0.5, 5 - 0.5), (2 + 0.5, 5 + 0.5), (2 - 0.5, 5 + 0.5)}"/>
<output a0="p25"/>
</command>
<element type="polygon" label="p25">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,5))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 5 - 0.5), (1 + 0.5, 5 - 0.5), (1 + 0.5, 5 + 0.5), (1 - 0.5, 5 + 0.5)}"/>
<output a0="p15"/>
</command>
<element type="polygon" label="p15">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,5))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 5 - 0.5), (6 + 0.5, 5 - 0.5), (6 + 0.5, 5 + 0.5), (6 - 0.5, 5 + 0.5)}"/>
<output a0="p65"/>
</command>
<element type="polygon" label="p65">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,5))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 5 - 0.5), (8 + 0.5, 5 - 0.5), (8 + 0.5, 5 + 0.5), (8 - 0.5, 5 + 0.5)}"/>
<output a0="p85"/>
</command>
<element type="polygon" label="p85">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,5))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 6 - 0.5), (7 + 0.5, 6 - 0.5), (7 + 0.5, 6 + 0.5), (7 - 0.5, 6 + 0.5)}"/>
<output a0="p76"/>
</command>
<element type="polygon" label="p76">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,6))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 6 - 0.5), (6 + 0.5, 6 - 0.5), (6 + 0.5, 6 + 0.5), (6 - 0.5, 6 + 0.5)}"/>
<output a0="p66"/>
</command>
<element type="polygon" label="p66">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="false" label="false" ev="4"/>
<condition showObject="(6, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,6))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 6 - 0.5), (5 + 0.5, 6 - 0.5), (5 + 0.5, 6 + 0.5), (5 - 0.5, 6 + 0.5)}"/>
<output a0="p56"/>
</command>
<element type="polygon" label="p56">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,6))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 6 - 0.5), (4 + 0.5, 6 - 0.5), (4 + 0.5, 6 + 0.5), (4 - 0.5, 6 + 0.5)}"/>
<output a0="p46"/>
</command>
<element type="polygon" label="p46">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,6))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 6 - 0.5), (3 + 0.5, 6 - 0.5), (3 + 0.5, 6 + 0.5), (3 - 0.5, 6 + 0.5)}"/>
<output a0="p36"/>
</command>
<element type="polygon" label="p36">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,6))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 6 - 0.5), (2 + 0.5, 6 - 0.5), (2 + 0.5, 6 + 0.5), (2 - 0.5, 6 + 0.5)}"/>
<output a0="p26"/>
</command>
<element type="polygon" label="p26">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,6))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 6 - 0.5), (1 + 0.5, 6 - 0.5), (1 + 0.5, 6 + 0.5), (1 - 0.5, 6 + 0.5)}"/>
<output a0="p16"/>
</command>
<element type="polygon" label="p16">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,6))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 6 - 0.5), (8 + 0.5, 6 - 0.5), (8 + 0.5, 6 + 0.5), (8 - 0.5, 6 + 0.5)}"/>
<output a0="p86"/>
</command>
<element type="polygon" label="p86">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,6))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 7 - 0.5), (7 + 0.5, 7 - 0.5), (7 + 0.5, 7 + 0.5), (7 - 0.5, 7 + 0.5)}"/>
<output a0="p77"/>
</command>
<element type="polygon" label="p77">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,7))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 7 - 0.5), (6 + 0.5, 7 - 0.5), (6 + 0.5, 7 + 0.5), (6 - 0.5, 7 + 0.5)}"/>
<output a0="p67"/>
</command>
<element type="polygon" label="p67">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,7))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 7 - 0.5), (5 + 0.5, 7 - 0.5), (5 + 0.5, 7 + 0.5), (5 - 0.5, 7 + 0.5)}"/>
<output a0="p57"/>
</command>
<element type="polygon" label="p57">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,7))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 7 - 0.5), (4 + 0.5, 7 - 0.5), (4 + 0.5, 7 + 0.5), (4 - 0.5, 7 + 0.5)}"/>
<output a0="p47"/>
</command>
<element type="polygon" label="p47">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,7))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 7 - 0.5), (3 + 0.5, 7 - 0.5), (3 + 0.5, 7 + 0.5), (3 - 0.5, 7 + 0.5)}"/>
<output a0="p37"/>
</command>
<element type="polygon" label="p37">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,7))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 7 - 0.5), (2 + 0.5, 7 - 0.5), (2 + 0.5, 7 + 0.5), (2 - 0.5, 7 + 0.5)}"/>
<output a0="p27"/>
</command>
<element type="polygon" label="p27">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,7))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 7 - 0.5), (1 + 0.5, 7 - 0.5), (1 + 0.5, 7 + 0.5), (1 - 0.5, 7 + 0.5)}"/>
<output a0="p17"/>
</command>
<element type="polygon" label="p17">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,7))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 7 - 0.5), (8 + 0.5, 7 - 0.5), (8 + 0.5, 7 + 0.5), (8 - 0.5, 7 + 0.5)}"/>
<output a0="p87"/>
</command>
<element type="polygon" label="p87">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,7))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 8 - 0.5), (7 + 0.5, 8 - 0.5), (7 + 0.5, 8 + 0.5), (7 - 0.5, 8 + 0.5)}"/>
<output a0="p78"/>
</command>
<element type="polygon" label="p78">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,8))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 8 - 0.5), (6 + 0.5, 8 - 0.5), (6 + 0.5, 8 + 0.5), (6 - 0.5, 8 + 0.5)}"/>
<output a0="p68"/>
</command>
<element type="polygon" label="p68">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,8))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 8 - 0.5), (5 + 0.5, 8 - 0.5), (5 + 0.5, 8 + 0.5), (5 - 0.5, 8 + 0.5)}"/>
<output a0="p58"/>
</command>
<element type="polygon" label="p58">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,8))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 8 - 0.5), (4 + 0.5, 8 - 0.5), (4 + 0.5, 8 + 0.5), (4 - 0.5, 8 + 0.5)}"/>
<output a0="p48"/>
</command>
<element type="polygon" label="p48">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,8))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 8 - 0.5), (3 + 0.5, 8 - 0.5), (3 + 0.5, 8 + 0.5), (3 - 0.5, 8 + 0.5)}"/>
<output a0="p38"/>
</command>
<element type="polygon" label="p38">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,8))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 8 - 0.5), (2 + 0.5, 8 - 0.5), (2 + 0.5, 8 + 0.5), (2 - 0.5, 8 + 0.5)}"/>
<output a0="p28"/>
</command>
<element type="polygon" label="p28">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,8))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 8 - 0.5), (1 + 0.5, 8 - 0.5), (1 + 0.5, 8 + 0.5), (1 - 0.5, 8 + 0.5)}"/>
<output a0="p18"/>
</command>
<element type="polygon" label="p18">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,8))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 8 - 0.5), (8 + 0.5, 8 - 0.5), (8 + 0.5, 8 + 0.5), (8 - 0.5, 8 + 0.5)}"/>
<output a0="p88"/>
</command>
<element type="polygon" label="p88">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,8))]"/>
</element>
<command name="Join">
<input a0="Sequence[Sequence[(m, n), n, 1, 8], m, 1, 8]"/>
<output a0="allM"/>
</command>
<element type="list" label="allM">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="queens" exp="{}"/>
<element type="list" label="queens">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="9"/>
<pointStyle val="6"/>
<angleStyle val="0"/>
</element>
<command name="If">
<input a0="Length[queens] ≟ 0" a1="{}" a2="Unique[Join[Sequence[KeepIf[x(P) ≟ x(queens(k)) ∨ y(P) ≟ y(queens(k)) ∨ x(P) - x(queens(k)) ≟ y(P) - y(queens(k)) ∨ x(P) - x(queens(k)) ≟ (-y(P)) + y(queens(k)), P, allM], k, 1, Length[queens]]]]"/>
<output a0="dots1"/>
</command>
<element type="list" label="dots1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="dots" exp="dots1 \ queens" />
<element type="list" label="dots">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<ggbscript onUpdate="SetFixed[,true,false]"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="9"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<element type="image" label="picBoard">
<file name="c35a0d3613711c8e85d5ebd31a581d17/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="0.5" y="0.5" z="1"/>
<startPoint number="1" x="8.5" y="0.5" z="1"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
</element>
<expression label="edges" exp="{Sequence[Segment[(0.5, k + 0.5), (8.5, k + 0.5)], k, 0, 8], Sequence[Segment[(0.5 + k, 0.5), (0.5 + k, 8.5)], k, 0, 8]}" />
<element type="list" label="edges">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Polygon">
<input a0="{Corner[1], Corner[2], Corner[3], Corner[4]}"/>
<output a0="polyBackground"/>
</command>
<element type="polygon" label="polyBackground">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="button" label="buttonPlay">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<bgColor r="0" g="255" b="0" alpha="255"/>
<layer val="5"/>
<labelOffset x="64" y="626"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="queens={}"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<dimensions width="160" height="120" />
<startPoint x="1.0037565740045087" y="-0.0011269722013530499" z="1"/>
<caption val="PLAY"/>
</element>
<expression label="numRemaining" exp="64 - Length[dots1]" />
<element type="numeric" label="numRemaining">
<value val="64"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<ggbscript onUpdate="If[numRemaining==0,SetValue[showResult,true]]"/>
</element>
<element type="image" label="picQueen">
<file name="36122a5bdf1c8f6b532a595587bde5b5/queen.png"/>
<inBackground val="false"/>
<startPoint number="0" x="9" y="0" z="1"/>
<startPoint number="1" x="10" y="0" z="1"/>
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<command name="Sequence">
<input a0="Translate[picQueen, Vector[(9.5, 0.5), queens(k)]]" a1="k" a2="1" a3="Length[queens]"/>
<output a0="picQueens"/>
</command>
<element type="list" label="picQueens">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="1"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="image"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Length">
<input a0="queens"/>
<output a0="numQueens"/>
</command>
<element type="numeric" label="numQueens">
<value val="0"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="textRule" exp=""八皇后問題:
 如何能夠在8×8的西洋棋棋盤上放置八個皇后,使得任何一個
皇后都無法直接吃掉其他的皇后?為了達到此目的,任兩個皇后
都不能處於同一條橫行、縱行或斜線上。

The Eight Queens Puzzle:
 Place eight chess queens on an 8×8 chessboard so that 
no two queens threaten each other; thus, a solution requires 
that no two queens share the same row, column, or diagonal.

玩法:
 點按棋盤上的格子放置皇后,直到無法放置為止。

How to play:
 Click on the board to place the queen(s) until it cannot 
be placed.""/>
<element type="text" label="textRule">
<show object="false" label="false" ev="40"/>
<condition showObject="showRule"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<startPoint x="0.5" y="8" z="1"/>
</element>
<element type="button" label="buttonUndo">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="175" g="238" b="238" alpha="255"/>
<layer val="5"/>
<labelOffset x="325" y="601"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="SetValue(queens,queens\Last(queens))"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<dimensions width="160" height="120" />
<startPoint x="4" y="0" z="1"/>
<caption val="Undo"/>
</element>
<element type="button" label="buttonRule">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="208" g="240" b="192" alpha="255"/>
<layer val="5"/>
<labelOffset x="509" y="626"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="showRule=!showRule"/>
<font serif="false" sizeM="2" size="24" style="0"/>
<dimensions width="280" height="50" />
<startPoint x="7" y="0" z="1"/>
<caption val="Game Rule"/>
</element>
<element type="button" label="buttonSolutions">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="208" g="240" b="192" alpha="255"/>
<layer val="5"/>
<labelOffset x="513" y="702"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="showSolutions=!showSolutions"/>
<font serif="false" sizeM="2" size="24" style="0"/>
<dimensions width="280" height="50" />
<startPoint x="7" y="-1" z="1"/>
<caption val="Fundamental Solutions"/>
</element>
<command name="Polygon">
<input a0="{Corner[1], Corner[2], Corner[3], Corner[4]}"/>
<output a0="polyMask"/>
</command>
<element type="polygon" label="polyMask">
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="showRule ∨ showSolutions ∨ showResult"/>
<objColor r="32" g="32" b="32" alpha="0.949999988079071"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue(showRule,false)
SetValue(showSolutions,false)
SetValue(showResult,false)

"/>
</element>
<element type="image" label="picS1">
<file name="0cc7f5e3be48de53bb9001aad00a3742/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="4" z="1"/>
<startPoint number="1" x="11.25" y="4" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="picS2">
<file name="29dea3c6b3a364a9ab325f189398f46b/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="1" z="1"/>
<startPoint number="1" x="11.25" y="1" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="picS3">
<file name="07e61235b65f4606c38921fa3849dc8e/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="-2" z="1"/>
<startPoint number="1" x="11.25" y="-2" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<expression label="textSolutions" exp=""八個皇后在8x8棋盤上只有92個互不相同的解。
如果將旋轉和對稱的解歸為一種的話,則一共有12個獨立解。
The puzzle has 92 distinct solutions. If the symmetry operations of 
rotation/reflection are counted as one, the puzzle has 12 solutions.""/>
<element type="text" label="textSolutions">
<show object="true" label="false" ev="40"/>
<condition showObject="showSolutions"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<startPoint x="0" y="9" z="1"/>
</element>
<element type="boolean" label="showRule">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<element type="boolean" label="showSolutions">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<expression label="textnumQ" exp=""" + numQueens + """ />
<element type="text" label="textnumQ">
<show object="true" label="false" ev="40"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<startPoint x="9.7" y="5" z="1"/>
</element>
<expression label="textnumQueens" exp=""皇后數
Queens""/>
<element type="text" label="textnumQueens">
<show object="true" label="false" ev="8"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<bgColor r="0" g="0" b="0" alpha="255"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="9.2" y="7.5" z="1"/>
</element>
<expression label="textnumR" exp=""" + numRemaining + """ />
<element type="text" label="textnumR">
<show object="true" label="false" ev="40"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<startPoint x="9.7" y="1.5" z="1"/>
</element>
<expression label="textnumRemaining" exp="" 剩餘格數
Remaining""/>
<element type="text" label="textnumRemaining">
<show object="true" label="false" ev="8"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="8.8" y="4" z="1"/>
</element>
<element type="boolean" label="showResult">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<expression label="textDone" exp=""恭喜你,成功了!
嘗試找找看還有沒有其他解法。
Congratulations! You've done it.
Retry to find out other solutions.""/>
<element type="text" label="textDone">
<show object="true" label="false" ev="40"/>
<condition showObject="showResult ≟ true ∧ numQueens ≟ 8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="1.5" y="5.5" z="1"/>
</element>
<expression label="textFail" exp=""你失敗了!
你一共只擺放了 " + numQueens + " 個皇后。
You failed!
You have only placed " + numQueens + " Queens."" />
<element type="text" label="textFail">
<show object="true" label="false" ev="8"/>
<condition showObject="showResult ≟ true ∧ numQueens ≠ 8"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<bgColor r="0" g="255" b="0" alpha="255"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="1.5" y="5.5" z="1"/>
</element>
</construction>
</geogebra>