(Незважаючи на 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



Прочитайте кількість маток, q , від stdin та обчисліть дві змінні для подальшого використання:
Почніть головну петлю, повторюючи r , номер рядка, від q до 0, зменшення на початку циклу, тому перший r є q мінус 1.
Обчисліть зміщення королеви в кожному ряду за такою формулою:
Виведіть зсувні символи пробілу для відступу позиції королеви для поточного ряду плюс один додатковий простір лише тому, що це полегшує вихідний цикл.
Виведіть значення
Тест , якщо г дорівнює нулю, в цьому випадку ми досягли кінця дошки і може вийти, в іншому випадку ми знову повторити основний цикл.