소개
대부분의 글꼴에서 대문자 알파벳 문자는 BDO모두 문자 경계 사각형의 네 구석 중 일부에 거의 닿는 단일 행을 갖습니다 ACEFGHIJKLMNPQRSTUVWXYZ.
예를 들어 A캐릭터의 왼쪽 하단 및 오른쪽 하단 모서리를 "터치" 하는 두 다리가 있습니다. 마찬가지로, C상단과 하단 오른쪽 모서리를 터치합니다 (약간 구부러졌지만 충분히 가까움). L한 줄로 왼쪽 상단과 오른쪽 하단에만 닿습니다. 왼쪽 하단 모서리 L는 단일 선의 끝이 아닌 정점입니다.
다음은 Stack Exchange 글꼴에 따라 어떤 문자가 어떤 모서리에 닿는 지에 대한 표입니다. 1왼쪽 위, 2오른쪽 위, 3왼쪽 4아래, 오른쪽 아래입니다.
A: 3 4
C: 2 4
E: 2 4
F: 2 3
G: 2
H: 1 2 3 4
I: 1 2 3 4
J: 1 3
K: 1 2 3 4
L: 1 4
M: 3 4
N: 2 3
P: 3
Q: 4
R: 3 4
S: 2 3
T: 1 2
U: 1 2
V: 1 2
W: 1 2
X: 1 2 3 4
Y: 1 2
Z: 1 4
설정
이러한 모퉁이 접촉 선은 모퉁이의 방향으로 연장되어 격자에서 이러한 문자의 배열을 "연결"할 수 있습니다.
예를 들어
A
C X
연결의 왼쪽 하단 A및 오른쪽 상단과 C연결의 오른쪽 하단 A및 왼쪽 상단 때문에 X연결됩니다.
하나,
CAX
연결 은 한 문자에서 다음 문자로 대각선으로 만 발생 하기 때문에 연결 이 없습니다 .
도전
ACEFGHIJKLMNPQRSTUVWXYZ위의 규칙에 따라 모든 문자 를 하나의 큰 완전히 연결된 트리에 출력하는 가능한 가장 짧은 프로그램 (바이트)을 작성하십시오 . 각 문자는 정확히 한 번만 나타나야합니다. 빈 공간에는 공백을 사용하십시오.
예
이 23 글자 트리의 모든 것은 위에 정의 된 대각선 연결을 통해 다른 것으로부터 도달 할 수 있습니다.
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
노트
- 솔루션을 하드 코딩 할 수 있습니다.
- 출력에는
ACEFGHIJKLMNPQRSTUVWXYZ공백, 개행 문자 만 포함되어야합니다 .BDO사용되지 않습니다. - 모든 연결부가 올바르게 배치되어 있으면 선행 / 트레일 공간이 좋습니다.
- 출력 그리드는 30 x 30 자 (줄 바꿈 및 공백 포함)보다 크지 않아야합니다.
- 코너 연결 만 고려됩니다. 하단은
Y아무 것도 연결하지 않습니다. 위 표의 코너 연결을 사용해야합니다. - 모든 연결 가능한 코너가 무언가에 연결될 필요는 없습니다. 연결 가능하고 연결 불가능한 모서리가 서로 경계를 이룰 수 있습니다.
- 표준 출력으로 출력합니다. 입력이 없습니다.
- Peter Taylor 처럼 슬래시로 만든 연결 그래프를 포함시키는 것은 유용한 터치이지만 필수는 아닙니다.