(60 개 이상의 질문에 chess 태그가 지정되었지만 간단한 n- 퀸 도전은 없습니다.)
체스에서 N- 퀸즈 퍼즐 은 다음과 같이 설명됩니다. n x n
체스 판과 n
여왕이 주어지면 두 여왕이 서로 위협하지 않도록 체스 판에 여왕을 배치하십시오. 다음은 n = 8
Wikipedia에서 빌린에 대한 예제 솔루션입니다 .
또는 ASCII 렌더링에서 :
xxxQxxxx
xxxxxxQx
xxQxxxxx
xxxxxxxQ
xQxxxxxx
xxxxQxxx
Qxxxxxxx
xxxxxQxx
여기서 과제 n
는 n
-Queens 퍼즐 에 대한 솔루션의 ASCII 표현을 입력 및 출력하는 것입니다. 하나 이상의 가능한 솔루션 (예 : 적어도 회전 또는 반사)이 있으므로 코드는 유효한 솔루션 만 출력하면됩니다.
입력
하나의 양의 정수 n
에 n >= 4
편리한 형식 . (n = 2 및 n = 3에는 솔루션이 없으며 n = 1은 사소하므로 제외됩니다)
산출
위에서 설명한 N- 퀸 퍼즐에 대한 솔루션의 ASCII 표현 결과입니다. 공백과 여왕을 나타내는 두 개의 고유 한 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