소개
대부분의 글꼴에서 대문자 알파벳 문자는 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 처럼 슬래시로 만든 연결 그래프를 포함시키는 것은 유용한 터치이지만 필수는 아닙니다.