소개
이 과제에서 2 × 2 행렬은 다음과 같이 색인됩니다.
0 1
2 3
우리의 가족 정의 프랙탈 같은 패턴 F(L)
, 어디 L
길이 - 인 n
이 인덱스의 목록과 F(L)
크기가 .2n-1 × 2n-1
- 경우
L == []
, 다음F(L)
1 × 1 패턴이다#
. 경우
L != []
, 다음F(L)
다음과 같이 구성되어있다. 첫 번째 요소를 제거한 상태P
에서 얻은 패턴을 보자L
. 마침표로 채워진 네 개의 격자 크기 를 취하고 패턴으로 색인 된 격자를 대체하십시오 . 그런 다음 하나의 해시 레이어를 사용하여 그리드를 서로 붙 입니다. 다음은 네 가지 경우에 대한 다이어그램입니다.2n-1-1 × 2n-1-1
.
L[0]
P
#
L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### ...#... ...#... #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...#
예
입력을 고려하십시오 L = [2,0]
. #
1x1 그리드로 시작 L
하여 오른쪽에서 횡단 합니다. 가장 오른쪽에있는 요소는 0
1 × 1 격자의 사본 4 개를 가져 와서 .
첫 번째 격자 를 바꾸고 #
해시로 붙입니다. 결과적으로 3 × 3 그리드
##.
###
.#.
다음 요소는 2
. 그래서 우리는 3 × 3 격자의 4 개의 사본을 가져 와서 3 .
번째 격자를 위의 격자로 교체합니다. 네 개의 격자는
... ... ##. ...
... ... ### ...
... ... .#. ...
함께 붙이기 #
s 7 × 7 그리드가됩니다
...#...
...#...
...#...
#######
##.#...
####...
.#.#...
이것이 우리의 최종 결과물입니다.
입력
입력 한 내용은 L
지수 목록 입니다 0, 1, 2, 3
. 정수 또는 자릿수 목록으로 사용할 수 있습니다. 비어있을 수 있으며 중복 된 내용이 포함될 수 있습니다. 길이 L
는 최대 5입니다.
산출
출력은 F(L)
개행으로 구분 된 문자열 의 패턴 입니다.
규칙과 득점
전체 프로그램 또는 함수를 작성할 수 있습니다. 바이트 수가 가장 적고 표준 허점이 허용되지 않습니다.
테스트 사례
[]
#
[0]
##.
###
.#.
[3]
.#.
###
.##
[2,0]
...#...
...#...
...#...
#######
##.#...
####...
.#.#...
[1,1]
...#.##
...####
...#.#.
#######
...#...
...#...
...#...
[1,2,0]
.......#...#...
.......#...#...
.......#...#...
.......########
.......###.#...
.......#####...
.......#.#.#...
###############
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
[3,3,1]
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
###############
.......#...#...
.......#...#...
.......#...#...
.......########
.......#...#.##
.......#...####
.......#...#.#.
[0,1,2,3]
.......#...#...#...............
.......#...#...#...............
.......#...#...#...............
.......#########...............
.......#.#.#...#...............
.......#####...#...............
.......#.###...#...............
################...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
###############################
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
[0,0,1,2,3]
.......#...#...#...............#...............................
.......#...#...#...............#...............................
.......#...#...#...............#...............................
.......#########...............#...............................
.......#.#.#...#...............#...............................
.......#####...#...............#...............................
.......#.###...#...............#...............................
################...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
################################...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
###############################################################
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
L = [2,0]
적이므로 헤드 F([0])
를 잘라 내고 패턴 을 본 다음 헤드를 잘라 내고 [0]
패턴을 봅니다 ( F([])
1x1 그리드) #
. 그런 다음 잘린 인덱스 0
를 사용하여 3x3 패턴을 만들고 그 잘린 인덱스 2
를 사용하여 7x7 패턴을 만듭니다. 귀하의 질문에 대답하려면 : 예, 재귀의 기본 사례이므로 항상 1x1 그리드로 시작합니다.
#
무엇입니까?L !=[]
이 예에서는 하나 이상의 요소가 있으므로 이 F (L) 인 것을 의미 하는가 항상#
처음?