Hacker News

Chess puzzle I found in my dad's old book

167 points by Eswo ago | 45 comments

dllu |next [-]

Neat. Surprisingly, there are 388 solutions, and a lot of them look rather unintuitive.

    ........
    ...Q....
    ........
    ........
    .....Q..
    ........
    ........
    Q..B..Q.

    Q.......
    ........
    ........
    ........
    ..QQB..Q
    ........
    ........
    ........
My original intuition was to place the queens on unique rows and columns to cover as much as possible but it turns out there are solutions with three of them on the same row.

Python script: https://gist.github.com/dllu/698d5f71b2b9735c5c462ddf4a2f6fc...

Here's how it works:

0. precompute the attack patterns of each possible queen/bishop location as a bitmask, stored as an integer

1. generate candidate solutions, allowing attack rays to pass through other pieces, by brute forcing the positions of the 5 pieces and taking the bitwise OR of their attacks

2. out of the candidate solutions, check which ones are actually valid taking into account occlusion. Actually, you only need to check if the queen's horizontal attack is blocked by the bishop, as queens cannot block each other (the blocking queen herself has the same attacks so they effectively pass through each other).

sobellian |root |parent |next [-]

I used CP-SAT to enumerate the solutions. A heuristic for "interesting" solutions is those which only admit one valid bishop placement. For example:

    ........
    Q..B..Q.
    ........
    ........
    .......Q
    ........
    ........
    ...Q....
Where the bishop lies at the intersection of three queens' horizontal attacks. With these queens, no other bishop placement works.

aaron695 |root |parent [-]

[dead]

NooneAtAll3 |root |parent |previous [-]

is there a solution where all the pieces are covered as well?

tromp |next |previous [-]

> The task is to place four black queens and one black bishop on the chessboard so that there is no square not under their attack. In other words, after arranging the five black pieces, it must be impossible to place the white king anywhere without it being in checkmate.

That last word should be "check". not "checkmate". A king next to an unprotected queen will be in check but not checkmate as it can capture the queen.

bryanrasmussen |root |parent |next [-]

well there are all sorts of irregularities in the stated puzzle, since you cannot move into check or checkmate it follows that you should not be able to place it on the board and have it be in those conditions.

However let us suppose that you can place it on the board and have it be in either check or checkmate.

If it has been placed on the board and it is in check, since it cannot move into check it follows that it is the king's move. If it can move out of check by taking a piece or another way of moving it is not in checkmate, this seems a pretty weird trick then, because it is not so interesting that you can place the king on the board and it will be in check and it is the king's move to get out of check.

If it can get out of check by taking an unprotected queen then it is again not very interesting, and why would I not just put the king on one of those positions and take the queen from the first.

If I cannot put it on the board without it being in checkmate, it must mean that the placing it on the board is itself the move, and you cannot move into checkmate, but if placing it on the board is the move then it follows you can take a queen with that move if you can place the king anywhere on the board.

The phrasing of the puzzle is inadequate, it seems.

jhncls |root |parent |next |previous [-]

Although unlikely, maybe there exists a solution where all black pieces are protected?

yunwal |root |parent [-]

If there is, it's not listed as the solution on the puzzle website

nojs |root |parent |next |previous [-]

Yeah, the solution given is actually wrong as stated!

chongli |root |parent |previous [-]

That assumes you can place the king on the board and move immediately. I think the puzzle assumes you can’t do that; that placing your king on the board is your move, thus ending your turn.

billforsternz |root |parent |next [-]

The wording is very unambiguous, it means something very specific in chess. In every legal chess position either White is checkmated or Black is checkmated or (by far the most common except in film and TV!) neither side is checkmated. So the wording is crystal clear, you should be able to freely place the White king on any of the unoccupied 59 squares and the position will be one of those in which White is checkmated.

A real shame, this totally ruined the puzzle for me as it seemed so unlikely that all five Black pieces would be mutually protected. I should have forced myself to ignore the faulty clause and try to solve without it. The bad clause is also completely unnecessary - one of those cases where deleting text (or code!) is an improvement with no downside!

Timwi |root |parent [-]

I'd argue that if you remove the clause you still have the same issue. The problem statement says, “so that there is no square not under their attack”, which in my reading includes the squares occupied by the pieces, and a piece cannot attack itself.

wavemode |root |parent |next |previous [-]

There's no legal way to reach a chess position where a king is in check or checkmate and it's not the king's turn to move.

|root |parent [-]

Scarblac |root |parent |previous [-]

You can only be in check or checkmate when it's your turn though.

hammock |next |previous [-]

The trick for me was to place a queen (most anywhere, but start with a corner it’s easier), then check and look for the spot with the most reds around it (eg 9, or 8, or 7), place the next queen there, repeat. Then place the bishop as needed.

The key was realizing the proximal spaces next to the placed queen are the most important to cover. Forget about trying to have a long reach, it comes naturally.

r3trohack3r |root |parent |next [-]

I was skeptical but, this not only worked the first time I tried it, this strategy has worked every time.

CamelCaseName |root |parent |previous [-]

Wow!! That was awesome, great explanation too!

tantalor |next |previous [-]

Really nice but I wish I didn't have to click "Check" every time after moving the pieces. It could do that automatically.

hatthew |root |parent |next [-]

I put `setInterval(checkBoard, 100)` in the console to do it automatically.

xdennis |root |parent |previous [-]

I think that's intentional as in chess you're supposed to come up with the solution without feedback. The puzzle predates computers.

maest |next |previous [-]

> In other words, after arranging the five black pieces, it must be impossible to place the white king anywhere without it being in checkmate.

I think this is a bit ambiguous and, strictly speaking, wrong for the solution as given.

In particular, this asks for the king to be in check _mate_. Does this require all black pieces to defend each other? Otherwise, white king on the board would not be in checkmate if you place it next to a queen and can immediately capture.

From the solution, you can see it's not a checkmate requirement, just a check requirement.

pimlottc |next |previous [-]

Please don’t use red and green for the colors in the “check” mode, it’s hard to tell apart for colorblind people (especially against the partially shaded black squares).

In fact, there isn’t really a need for two colors. Just color the squares that are threatened by the pieces and leave the rest blank. The meaning will be obvious.

hatthew |next |previous [-]

I solved it with this, a pleasingly symmetric solution. I was surprised that a solution exists with all the queens in a row.

    . . . . . . . .
    . . . . . . . Q
    . . B . . . . .
    . . . . . Q . .
    . . . . . . . .
    . . . Q . . . .
    . . . . . . . .
    . Q . . . . . .

aidenn0 |root |parent |next [-]

More surprising to me is that there's a solution with no pieces on black.

js8 |root |parent |next |previous [-]

I started with 4 queens placed symmetrically on c7,g6,f2,b3, which covers everything except corners. Then I shifted all of them diagonally, i.e. to d6,h5,g1,c2. And it turns out, then only a8 and b7 are not covered, which can be easily solved by placing bishop anywhere at diagonal, e.g. h1.

archargelod |root |parent |previous [-]

I found this solution (actually, it's 4 solutions, each B is a different Bishop placement and at the same time it's the only 4 spots on the board not covered by queens):

    . B . . . . . .
    . . . . . . Q .
    . . . B . . . .
    Q . . . . . . .
    . . . . . B . .
    . . Q . . . . .
    . . . . . . . B
    . . . . Q . . .

ElenaDaibunny |next |previous [-]

this is the kind of HN post i come here for.

capibara13 |next |previous [-]

I took quite some time with this, but I found it a hard one! Nice job :-)

wrqvrwvq |next |previous [-]

fun demo. could be a daily puzzle combining various commenter suggestions. There are (didn't verify personally) 388 solutions. The daily puzzle could remove 1+ pieces and ask for a 1+ move guess.

Also a click on a square could auto place a queen and a second click would swap to the bishop. Every click could auto-check.

A separate discovery mode could start blocking out the squares visually as you place pieces. For a lot of people, that would be easier than the mental representation.

anArbitraryOne |next |previous [-]

I got it down to one, and then remembered I'm not a great chess player

etothet |next |previous [-]

Seems like a variation of this game called Chess Peace: https://chesspeace.app

smitty1110 |next |previous [-]

The solutions that look like a pinwheel are oddly satisfying, that was a fun little exercise. Thanks OP, I needed that diversion.

coarise |next |previous [-]

Pleased to find a good looking solution

    ...Q....
    .......Q
    ........
    ........
    ..Q.....
    ......Q.
    ........
    B.......
edit: Its almost the exact same solution to the one provided lol

coherentpony |next |previous [-]

> The task is to place four black queens and one black bishop on the chessboard so that there is no square not under their attack

> In other words, after arranging the five black pieces, it must be impossible to place the white king anywhere without it being in checkmate.

These two sentences mean very different things in the normal rules of chess. And if you replace the word “checkmate” with the word “check” in the second sentence it still doesn’t mean the same thing as the first sentence.

The first sentence implies that all the pieces must be defended.

Edit: Eh, I guess it depends on how you view the word “attack” since all the pieces are the same colour.

c4kar |next |previous [-]

That was an experience. Thank you

Trufa |next |previous [-]

Mildly related, if anyone want another chess minigame (I did this just in case).

https://knight-queen-game.netlify.app/

neuroelectron |next |previous [-]

I've definitely seen this puzzle before. of course I can't recall where

ra0x3 |next |previous [-]

Wait, the instructions are a little ambiguous. I clicked "Solution" and it has the dark-squared bishop on a white square! XD

Should maybe update the instructions to clarify that the dark-squared bishop is not constrained to dark squares.

loganc2342 |root |parent |next [-]

It's a black bishop, but not necessarily a dark-squared bishop. Both the black side and white side in a normal chess game get a dark-squared and a light-squared bishop, and I don't see anywhere that specifies which type this one is. It can be either one depending on where you place it.

sltkr |root |parent [-]

Also if you care that much just mirror the solution horizontally or vertically, and now your bishop is on the white square instead.

danbrooks |root |parent |next |previous [-]

The instructions likely mean that the bishop itself is black, not the square that it is on.

dwa3592 |root |parent |next |previous [-]

that's exactly what happened to me. I ended up spending so much time thinking black bishop can only go to black squares. and agreed this is a bit ambiguous.

maest |root |parent |next [-]

You can rotate any solution by 90 degrees, which would toggle the square colour of your bishop, so it doesn't ultimately matter.

fsckboy |root |parent |previous [-]

>thinking black bishop can only go to black squares. and agreed this is a bit ambiguous

sorry, "The task is to place four black queens and one black bishop on the chessboard" is not at all ambiguous.

|root |parent [-]

NooneAtAll3 |root |parent |previous [-]

> The task is to place four black queens and one black bishop on the chessboard

where did you read "dark-squared"?

sdsd |previous [-]

I've been playing a lot of Go lately and it's lowkey ruined chess for me. I ended up uninstalling Lichess because I simple don't use it anymore. Nothing against chess, just my personal taste.

My friend code on BadukPop is EGVNY if anyone wants to play together!