6 자리 16 진수 입력 / 인수를 사용하는 프로그래밍 언어로 프로그램 또는 함수를 작성하십시오. 입력 / 인수는 6 개의 값 또는 6 개의 문자열 일 수 있습니다.
프로그램은 공백과 함께 제공된 16 진수 만 포함하는 정확히 8 자 너비의 직사각형 문자 블록을 출력해야합니다 (+ 줄 바꿈). 사각형 블록은 6 개의 제공된 값 각각에 대해 작은 블록 모양의 조합입니다.
다음은 2 개의 데모 샘플 입력과 샘플 유효한 출력입니다.
샘플 입력 :
"464fa6" or [4, 6, 4, 15, 10, 6]
하나의 유효한 솔루션 출력 :
44 66 ff
44 66 ff
66 ff
aa f
aaa ffff
aa ffff
aaa
6 44
66666 44
샘플 입력 :
"35bf12"
하나의 유효한 솔루션 출력 :
55555 22
bbbbbbbb
b b b
33
fffff 3
ff ff
ffffff 1
규칙 :
출력은 직사각형이어야합니다
출력은 세로 높이 일 수 있지만 정확히 8 자 여야합니다.
"블록 모양"이라고하는 "내부 블록"은 다른 블록 모양에 연결할 수 없습니다. 블록 모양은 가로, 세로 및 대각선으로 정확히 1 자 너비의 빈 공간 벽으로 분리되어야합니다.
공백의 벽은 외부 모서리와 평행을 이룰 수 없으며 출력 모서리에는 1 자 너비의 벽 모서리 만 존재할 수 있습니다. 출력의 가장 바깥 쪽 사각형 가장자리에 연결된 공간이 없어야합니다.
공백의 벽 너비는 1 문자를 초과하지 않아야합니다.
내부 블록 모양은 x 문자 영역과 균일해야하며, 여기서 x는 제공된 16 진수 값이고 모양은 문자 x로 구성되어야합니다. 여기서 x는 16 진 문자를 나타냅니다.
내부 블록 모양은 모든 모양 문자가 수직 또는 수평으로 연결되고 공백의 벽에 대한 규칙을 검증하지 않는 한 임의의 형태 일 수 있습니다.
6 개의 블록 모양은 출력 된 사각형 내부의 내부 "순서"에 배치 할 수 있습니다.
유효한 입력 범위 : 각 모양에 대해 1 ... 15 ( "1"... "f"). 프로그램에 대한 입력은 6 개의 16 진수 이외의 정보를 포함하지 않아야하며, 입력은 프로그램 / 기능에 공급되기 전에 샘플과 다른 방식으로 정렬되어서는 안됩니다. 솔루션에서 사용하는 입력 형식을 알려주십시오 (입력에 16 진 값 이외의 다른 정보를 포함 할 수 없음).
내부 블록 모양은 비어있을 수 있습니다. 구멍은 공백의 벽으로 계산되는 공백 문자 여야합니다. 즉, 속이 빈 내부 블록 모양의 구멍은 1자를 초과 할 수 없습니다.
유효한 중공 모양의 세 가지 예 :
aaa
a aaa
aaa
999
9 9
999
9
ffffff
f ff
ffffff
잘못된 중공 모양의 예 :
ffffff
f f
f f
fffff
위의 규칙에 따라 모든 입력 조합을 "해결"할 수 없다고 가정하므로 프로그램에서 "해결"할 수있는 10 개의 샘플 입력을 나열합니다 (모두 확인 가능함).
1. 464fa6 (same as the first sample)
2. 35bf12 (second example input seen above)
3. 111126
4. ff7fff
5. 565656
6. abcdef
7. 1357bd
8. 8c6a42
9. ab7845
10. 349a67
프로그램은 10 개의 샘플 입력을 공명 시간 내에 해결할 수 있어야합니다. 표준 데스크탑 컴퓨터에서 공명 시간을 1 시간 이내로 변환합니다. 3Ghz 듀얼 코어, 4GB 메모리 참조.
이것은 가장 짧은 솔루션이 승리하는 코드 골프입니다. 솔루션은 완전히 작동하는 프로그램 또는 기능 일 수 있습니다.