blob: 5ea1de44ea501e3ebd2652c094921ebaf9986e61 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
|
dfs←{⊃∇⍨⌿⌽(⊂⍺⍶⍵)⍪⍺⍹⍵}
atk←{∪∊(⊂⍵)+¯1 0 1×⊂⌽⍳⍴⍵}
subs←{(⊂⍵)⍪¨(⍳⍴⊃⍺)~atk ⍵}
accm←{⍺⍪((⍴⍵)=⍴⊃⍺)↑⊂⍵}
fmt←{(⊂⎕io+⍵=⌾⍳⍴⍵)⌷'∘⎕'}
queens←{fmt¨ (↓0 ⍵⍴0)accm dfs subs ⍬}
eightqueens←queens 8
⎕←'Number of solutions to 8 queens: ',⍕≢eightqueens
⎕←'First five:'
⎕←5↑eightqueens
|