Peaceful chess queen armies: Difference between revisions

Content added Content deleted
(Added 11l)
Line 54: Line 54:
* [https://oeis.org/A250000 A250000] OEIS
* [https://oeis.org/A250000 A250000] OEIS
<br><br>
<br><br>

=={{header|11l}}==
{{trans|D}}

<lang 11l>T.enum Piece
EMPTY
BLACK
WHITE

F isAttacking(queen, pos)
R queen.x == pos.x
| queen.y == pos.y
| abs(queen.x - pos.x) == abs(queen.y - pos.y)

F place(m, n, &pBlackQueens, &pWhiteQueens)
I m == 0
R 1B

V placingBlack = 1B
L(i) 0 .< n
L(j) 0 .< n
V pos = (i, j)
L(queen) pBlackQueens
I queen == pos | (!placingBlack & isAttacking(queen, pos))
L.break
L.was_no_break
L(queen) pWhiteQueens
I queen == pos | (placingBlack & isAttacking(queen, pos))
L.break
L.was_no_break
I placingBlack
pBlackQueens [+]= pos
placingBlack = 0B
E
pWhiteQueens [+]= pos
I place(m - 1, n, &pBlackQueens, &pWhiteQueens)
R 1B
pBlackQueens.pop()
pWhiteQueens.pop()
placingBlack = 1B

I !placingBlack
pBlackQueens.pop()
R 0B

F printBoard(n, blackQueens, whiteQueens)
V board = [Piece.EMPTY] * (n * n)

L(queen) blackQueens
board[queen.x * n + queen.y] = Piece.BLACK

L(queen) whiteQueens
board[queen.x * n + queen.y] = Piece.WHITE

L(b) board
V i = L.index
I i != 0 & i % n == 0
print()
I b == BLACK
print(‘B ’, end' ‘’)
E I b == WHITE
print(‘W ’, end' ‘’)
E
V j = i I/ n
V k = i - j * n
I j % 2 == k % 2
print(‘x ’, end' ‘’)
E
print(‘o ’, end' ‘’)
print("\n")

V nms = [
(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3),
(5, 1), (5, 2), (5, 3), (5, 4), (5, 5),
(6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6),
(7, 1), (7, 2), (7, 3), (7, 4), (7, 5), (7, 6), (7, 7)
]

L(nm) nms
print(‘#. black and #. white queens on a #. x #. board:’.format(nm[1], nm[1], nm[0], nm[0]))
[(Int, Int)] blackQueens, whiteQueens
I place(nm[1], nm[0], &blackQueens, &whiteQueens)
printBoard(nm[0], blackQueens, whiteQueens)
E
print("No solution exists.\n")</lang>

{{out}}
<pre>
1 black and 1 white queens on a 2 x 2 board:
No solution exists.

1 black and 1 white queens on a 3 x 3 board:
B o x
o x W
x o x

2 black and 2 white queens on a 3 x 3 board:
No solution exists.

1 black and 1 white queens on a 4 x 4 board:
B o x o
o x W x
x o x o
o x o x

2 black and 2 white queens on a 4 x 4 board:
B o x o
o x W x
B o x o
o x W x

3 black and 3 white queens on a 4 x 4 board:
No solution exists.

1 black and 1 white queens on a 5 x 5 board:
B o x o x
o x W x o
x o x o x
o x o x o
x o x o x

2 black and 2 white queens on a 5 x 5 board:
B o x o B
o x W x o
x W x o x
o x o x o
x o x o x

3 black and 3 white queens on a 5 x 5 board:
B o x o B
o x W x o
x W x o x
o x o B o
x W x o x

4 black and 4 white queens on a 5 x 5 board:
x B x B x
o x o x B
W o W o x
o x o x B
W o W o x

5 black and 5 white queens on a 5 x 5 board:
No solution exists.

1 black and 1 white queens on a 6 x 6 board:
B o x o x o
o x W x o x
x o x o x o
o x o x o x
x o x o x o
o x o x o x

2 black and 2 white queens on a 6 x 6 board:
B o x o B o
o x W x o x
x W x o x o
o x o x o x
x o x o x o
o x o x o x

3 black and 3 white queens on a 6 x 6 board:
B o x o B B
o x W x o x
x W x o x o
o x o x o x
x o W o x o
o x o x o x

4 black and 4 white queens on a 6 x 6 board:
B o x o B B
o x W x o x
x W x o x o
o x o x o B
x o W W x o
o x o x o x

5 black and 5 white queens on a 6 x 6 board:
x B x o B o
o x o B o B
W o x o x o
W x W x o x
x o x o x B
W x W x o x

6 black and 6 white queens on a 6 x 6 board:
No solution exists.

1 black and 1 white queens on a 7 x 7 board:
B o x o x o x
o x W x o x o
x o x o x o x
o x o x o x o
x o x o x o x
o x o x o x o
x o x o x o x

2 black and 2 white queens on a 7 x 7 board:
B o x o B o x
o x W x o x W
x o x o x o x
o x o x o x o
x o x o x o x
o x o x o x o
x o x o x o x

3 black and 3 white queens on a 7 x 7 board:
B o x o B o x
o x W x o x W
B o x o x o x
o x W x o x o
x o x o x o x
o x o x o x o
x o x o x o x

4 black and 4 white queens on a 7 x 7 board:
B o x o B o x
o x W x o x W
B o x o B o x
o x W x o x W
x o x o x o x
o x o x o x o
x o x o x o x

5 black and 5 white queens on a 7 x 7 board:
B o x o B o x
o x W x o x W
B o x o B o x
o x W x o x W
B o x o x o x
o x W x o x o
x o x o x o x

6 black and 6 white queens on a 7 x 7 board:
B o x o B o x
o x W x o x W
B o x o B o x
o x W x o x W
B o x o B o x
o x W x o x W
x o x o x o x

7 black and 7 white queens on a 7 x 7 board:
x B x o x B x
o B o x B x o
x B x o x B x
o x o x B x o
W o W o x o W
o x o W o x o
W o W W x o x

</pre>


=={{header|C}}==
=={{header|C}}==