Peaceful chess queen armies: Difference between revisions
Content added Content deleted
Alextretyak (talk | contribs) (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}}== |