1 /* A program to solve the 8-queens problem */
6 type intArray = array of int
8 var row := intArray [ N ] of 0
9 var col := intArray [ N ] of 0
10 var diag1 := intArray [N+N-1] of 0
11 var diag2 := intArray [N+N-1] of 0
13 function printboard() =
16 do print(if col[i]=j then " O" else " .");
23 else for r := 0 to N-1
24 do if row[r]=0 & diag1[r+c]=0 & diag2[r+7-c]=0
25 then (row[r]:=1; diag1[r+c]:=1; diag2[r+7-c]:=1;
28 row[r]:=0; diag1[r+c]:=0; diag2[r+7-c]:=0)