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.
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).
show comments
hammock
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.
show comments
tromp
> 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.
show comments
tantalor
Really nice but I wish I didn't have to click "Check" every time after moving the pieces. It could do that automatically.
show comments
maest
> 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
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
I solved it with this, a pleasingly symmetric solution. I was surprised that a solution exists with all the queens in a row.
I took quite some time with this, but I found it a hard one!
Nice job :-)
wrqvrwvq
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
I got it down to one, and then remembered I'm not a great chess player
edit: Its almost the exact same solution to the one provided lol
coherentpony
> 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
That was an experience. Thank you
Trufa
Mildly related, if anyone want another chess minigame (I did this just in case).
I've definitely seen this puzzle before. of course I can't recall where
ra0x3
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.
show comments
sdsd
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!
Neat. Surprisingly, there are 388 solutions, and a lot of them look rather unintuitive.
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).
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.
> 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.
Really nice but I wish I didn't have to click "Check" every time after moving the pieces. It could do that automatically.
> 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.
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.
I solved it with this, a pleasingly symmetric solution. I was surprised that a solution exists with all the queens in a row.
this is the kind of HN post i come here for.
I took quite some time with this, but I found it a hard one! Nice job :-)
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.
I got it down to one, and then remembered I'm not a great chess player
Seems like a variation of this game called Chess Peace: https://chesspeace.app
The solutions that look like a pinwheel are oddly satisfying, that was a fun little exercise. Thanks OP, I needed that diversion.
Pleased to find a good looking solution
edit: Its almost the exact same solution to the one provided lol> 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.
That was an experience. Thank you
Mildly related, if anyone want another chess minigame (I did this just in case).
https://knight-queen-game.netlify.app/
I've definitely seen this puzzle before. of course I can't recall where
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.
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!