직무:
문제는 "한 정사각형이없는 체스 판을주고 21 개의 L- 트리오 미노스로 자른다"는 것입니다. 이것이 2의 거듭 제곱 체스 판 크기에 대해 수행 될 수 있다는 잘 알려진 구조적 증거가 있습니다. 그것은 체스 판을 구멍과 하나의 큰 triomino가있는 작은 체스 판으로 나누고 그 triomino가 재귀 적으로 4 개의 triominoes로 절단 될 수 있음을 관찰함으로써 작동합니다.
이 작업에서는 8x8 체스 판을 L 모양의 트리오 미노로 자른 다음 인접한 두 트리노 미노가 동일한 색상을 갖지 않도록 4 가지 색상으로 채색해야합니다.
사양:
입력은 정수 쌍으로 제공되는 구멍의 위치입니다. 열 인덱스 중 하나와 행 인덱스 중 하나를 선택할 수 있습니다. 각각이 0에서 시작하여 1에서 시작하여 어느 구석에서 증가하는지 선택할 수 있습니다. 0..7 또는 1..8 대신 첫 번째 좌표로 A..H가 필요할 수 있습니다. 사전 식 순서로 단일 정수 0..63 또는 1..64로 압축 된 두 좌표를 허용 할 수도 있습니다 (행-주 또는 열-주, 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽, 위 아래 또는 아래에서 위). 전체 프로그램 또는 함수를 작성할 수 있습니다.
타일링을 ASCII, 컬러 ASCII 또는 그래픽 프리미티브로 출력 할 수 있습니다. ASCII 출력을 선택하면 4 개의 색상을 나타 내기 위해 인쇄 가능한 4 개의 ASCII 문자를 선택할 수 있습니다. 컬러 ASCII를 선택하면 인쇄 가능한 ASCII 문자 4 개 또는 공백 이외의 문자 하나만 선택할 수 있습니다. 구멍은 공백 문자로 표시해야합니다. 캐릭터 중 하나가 공백 문자 인 경우 구멍이나 체스 판 가장자리에 인접한 트리오 미노는이 색상이 아닐 수 있습니다.
컬러 ASCII 또는 그래픽 출력을 선택하는 경우 # 000, # 00F, # 0F0, # 0FF, # F00, # F0F, # FF0, #FFF 또는 사용자 환경에서 사용 가능한 가장 가까운 색상 중에서 4 가지 색상을 선택할 수 있습니다. 그래픽 출력을 선택하는 경우 그래픽 프리미티브는 최소 32x32 픽셀 크기의 정사각형으로 채워지고 다른 색상의 픽셀 2 개 이상으로 분리되어야합니다. 위의 내용이 사용자 환경의 화면 해상도를 초과하면 최소 크기 요구 사항이 여전히 화면에 맞는 가장 큰 정사각형 크기로 완화됩니다.
주어진 체스 판의 유효한 타일을 선택할 수 있습니다. 선택한 타일의 4 가지 색상을 선택할 수 있습니다. 모든 출력에서 4 가지 색상을 선택해야하지만 모든 출력에 모든 색상을 사용할 필요는 없습니다.
예 :
입력 가능한 출력 = [0, 0] (왼쪽 상단)
#??##??
##.?#..?
?..#??.#
??##.?##
##?..#??
#.??##.?
?..#?..#
??##??##
동일한 프로그램의 또 다른 가능한 출력 (입력 = [0, 7]) :
??#??#?
?##?##??
..xx..xx
.?x#.?x#
??##??##
..xx..xx
.?x#.?x#
??##??##
"D1"의 입력을 위해 다른 프로그램이 생성 될 수도 있습니다 (비표준이지만 체스 판 방향이 허용됨).
AABBCCAA
ACBACBAC
CCAABBCC
ABBAADD
AABDABDC
BBDDBBCC
BABBACAA
AABAACCA