(Незважаючи на 60+ питань, позначених шахами , у нас немає простого завдання n-queens.)
У шахах головоломка N-Queens описується так: n x n
Давши шахову дошку та n
королеви, розташуйте королеви на шаховій дошці так, щоб жодні дві королеви не загрожували одне одному. Нижче наведено приклад рішення для n = 8
, запозичене з Вікіпедії.
Або в ASCII візуалізації:
xxxQxxxx
xxxxxxQx
xxQxxxxx
xxxxxxxQ
xQxxxxxx
xxxxQxxx
Qxxxxxxx
xxxxxQxx
Завданням буде полягати у введенні n
та виведенні ASCII подання рішення на n
головоломку -Queens. Оскільки існує декілька можливих рішень (наприклад, принаймні, обертання або відображення), для вашого коду потрібно лише вивести будь-яке дійсне рішення.
Вхідні дані
Один натуральне число n
з n >= 4
в будь-якому зручному форматі . (n = 2 і n = 3 не мають розв’язків, і n = 1 є тривіальним, тому вони виключаються)
Вихідні дані
Отримане ASCII представлення рішення для головоломки N-queens, як зазначено вище. Ви можете вибрати будь-які два різних значення ASCII для представлення порожніх пробілів і маток. Знову ж таки, це може бути виведено у будь-якому відповідному форматі (одна рядок, список рядків, масив символів тощо).
Правила
- Провідні чи кінцеві рядки чи пробіли - це необов’язково, а також пробіл між символами, якщо вони самі правильно вибудовуються.
- Ви можете або використовувати алгоритм для обчислення можливих позицій, або використовувати чіткий стиль рішення "сходовий крок" рішення, залежно від того, хто є гравцем для вашого коду.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Якщо можливо, додайте посилання на онлайн-тестувальне середовище, щоб інші люди могли спробувати ваш код!
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.
Приклади
n=4
xQxx
xxxQ
Qxxx
xxQx
n=7
xxQxxxx
xxxxxxQ
xQxxxxx
xxxQxxx
xxxxxQx
Qxxxxxx
xxxxQxx
n=10
xxxxQxxxxx
xxxxxxxxxQ
xxxQxxxxxx
xxxxxxxxQx
xxQxxxxxxx
xxxxxxxQxx
xQxxxxxxxx
xxxxxxQxxx
Qxxxxxxxxx
xxxxxQxxxx