Giới thiệu
Trong thử thách này, ma trận 2 × 2 được lập chỉ mục như sau:
0 1
2 3
Chúng tôi xác định một họ các mẫu giống như fractal F(L)
, trong đó L
là một n
danh sách dài các chỉ số này và F(L)
có kích thước .2n-1 × 2n-1
- Nếu
L == []
, thì đóF(L)
là mẫu 1 × 1#
. Nếu
L != []
, sau đóF(L)
được xây dựng như sau. HãyP
là mẫu thu được từL
với phần tử đầu tiên được loại bỏ. Lấy bốn lưới có kích thước chứa đầy các dấu chấm và thay thế lưới được lập chỉ mục bằng mẫu . Sau đó, dán các lưới lại với nhau bằng cách sử dụng một lớp băm giữa chúng. Dưới đây là sơ đồ cho bốn trường hợp: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] ...#... ...#... #... ...#
Thí dụ
Hãy xem xét đầu vào L = [2,0]
. Chúng tôi bắt đầu với lưới 1 × 1 #
và đi qua L
bên phải. Phần tử ngoài cùng bên phải là 0
, vì vậy chúng tôi lấy bốn bản sao của lưới 1 × 1 .
, thay thế bản đầu tiên bằng cách #
dán chúng lại với nhau bằng băm. Điều này dẫn đến lưới 3 × 3
##.
###
.#.
Phần tử tiếp theo là 2
, vì vậy chúng tôi lấy bốn bản sao của lưới 3 × 3 .
và thay thế phần thứ ba bằng lưới ở trên. Bốn lưới là
... ... ##. ...
... ... ### ...
... ... .#. ...
và dán chúng cùng với #
kết quả s trong lưới 7 × 7
...#...
...#...
...#...
#######
##.#...
####...
.#.#...
Đây là đầu ra cuối cùng của chúng tôi.
Đầu vào
Đầu vào của bạn là một danh sách L
các chỉ số 0, 1, 2, 3
. Bạn có thể lấy nó làm danh sách các số nguyên hoặc một chuỗi các chữ số. Lưu ý rằng nó có thể trống và nó có thể chứa các bản sao. Độ dài tối đa L
là 5.
Đầu ra
Đầu ra của bạn là mẫu F(L)
dưới dạng một chuỗi phân cách dòng mới.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
[]
#
[0]
##.
###
.#.
[3]
.#.
###
.##
[2,0]
...#...
...#...
...#...
#######
##.#...
####...
.#.#...
[1,1]
...#.##
...####
...#.#.
#######
...#...
...#...
...#...
[1,2,0]
.......#...#...
.......#...#...
.......#...#...
.......########
.......###.#...
.......#####...
.......#.#.#...
###############
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
[3,3,1]
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
.......#.......
###############
.......#...#...
.......#...#...
.......#...#...
.......########
.......#...#.##
.......#...####
.......#...#.#.
[0,1,2,3]
.......#...#...#...............
.......#...#...#...............
.......#...#...#...............
.......#########...............
.......#.#.#...#...............
.......#####...#...............
.......#.###...#...............
################...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
.......#.......#...............
###############################
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
...............#...............
[0,0,1,2,3]
.......#...#...#...............#...............................
.......#...#...#...............#...............................
.......#...#...#...............#...............................
.......#########...............#...............................
.......#.#.#...#...............#...............................
.......#####...#...............#...............................
.......#.###...#...............#...............................
################...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
.......#.......#...............#...............................
################################...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
...............#...............#...............................
###############################################################
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
...............................#...............................
L = [2,0]
, bạn chặt đầu và nhìn vào mẫu F([0])
, sau đó cắt đầu [0]
và nhìn vào mẫu F([])
, đó là lưới 1x1 #
. Sau đó, bạn sử dụng chỉ mục băm nhỏ 0
trên nó để xây dựng mẫu 3x3 và sử dụng chỉ mục băm nhỏ 2
trên đó để xây dựng mẫu 7x7. Để trả lời câu hỏi của bạn: có, bạn luôn bắt đầu với lưới 1x1 vì đó là trường hợp cơ bản của đệ quy.
#
?L !=[]
trong ví dụ đó, vì nó có 1 hoặc nhiều phần tử. Điều này có nghĩa là F (L) luôn luôn là một#
lúc đầu?