Если вы не знаете, что такое королева в шахматах, это не имеет большого значения; это просто имя :)
Ваш ввод будет квадратом произвольной ширины и высоты, содержащим некоторое количество королев. Плата ввода будет выглядеть так (эта доска имеет ширину и высоту 8):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
На этой доске 8 королев. Если бы здесь было, скажем, 7, 1 или 10, доска не была бы действительной.
Здесь мы используем .
для пустого пространства, а Q
для королевы. Вместо этого вы можете использовать любой непробельный символ, какой пожелаете.
Этот ввод может быть проверен как действительный, и вы должны напечатать (или вернуть) истинное значение (если оно недопустимо, вы должны напечатать (или вернуть) ложное значение). Он действителен, потому что ни одна королева не находится в той же строке, столбце, диагонали или антидиагонале, что и другая .
Примеры (не выводите вещи в скобках):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
1
...Q.
Q....
.Q...
....Q
..Q..
0
Q.
Q.
0
..Q
...
.Q.
0 (this is 0 because there are only 2 queens on a 3x3 board)
..Q.
Q...
...Q
.Q..
1
Q
1 (this is valid, because the board is only 1x1, so there's no queen that can take another)
Позвольте мне подчеркнуть, что вход действителен только в том случае, если ни одна ферзя не находится в той же строке, столбце, диагонали или антидиагональности, что и другая .
правила
- Вы никогда не получите пустой ввод
- Если вход содержит меньше ферзей, чем квадратный корень области платы, он недействителен.
- Обратите внимание, что для доски 2x2 или 3x3 нет действительных решений, но есть решение для любой другой квадратной доски, где ширина и высота - это натуральное число.
- Ввод может быть в любом разумном формате, согласно правилам PPCG
- Вход всегда будет квадратным
- Я использовал 1 и 0 в примерах, но вы можете использовать любые истинные или ложные значения (такие как
Why yes, sir, that is indeed the case
иWhy no, sir, that is not the case
)
Поскольку это код-гольф , выигрывает самый короткий код!
{(x, y, v)}
с v
в [., Q]
быть допустимым форматом ввода?
(0, 0, Q), (0, 1, .), (1, 0, Q), (1, 1, .)
будет третий контрольный пример.