C. Fractal of Bắc Ninh - Cô Q và vẻ đẹp của sự nhân bản

Xem dạng PDF

Gửi bài giải

Điểm: 0,10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Trong phòng thí nghiệm Khoa học Vật Liệu ở Đại học Phenikaa, cô Q đang nghiên cứu quá trình kết tinh gốm. Khi gốm nguội dần, các tinh thể nhỏ dần dần mọc lên và sao chép hình dạng của chính mình ở nhiều cấp độ — hiện tượng này gọi là tự đồng dạng (self-similarity), hay còn gọi là mô hình fractal trong toán học. Để mô phỏng hiện tượng này, cô Q muốn tạo một mẫu tinh thể fractal hình chữ thập, trong đó mỗi cấp tinh thể mới được tạo ra bằng cách ghép 5 bản sao của tinh thể cấp trước. Bạn hãy giúp cô Q làm điều ấy nhé.


Yêu cầu: Cho một số nguyên N – thể hiện cấp độ phát triển của tinh thể. Hãy xây dựng mẫu tinh thể fractal theo quy tắc sau:

  • Ở mỗi cấp N, ma trận biểu diễn sẽ có kích thước là ~3^{N-1}~ x ~3^{N-1}~.
  • Ở cấp 1, tinh thể chỉ là một ô duy nhất, ký hiệu X.
  • Ở cấp 2, là sự mở rộng của cấp 1, ta thêm 4 tinh thể cấp 1 theo bốn hướng trên – dưới – trái – phải so với cấp 1. Các ô trống còn lại được ký hiệu bằng dấu .
  • Ở cấp 3, là sự mở rộng của cấp 2, ta thêm 4 mẫu tinh thể cấp 2 theo bốn hướng trên – dưới – trái – phải so với cấp 2. Các ô trống còn lại được ký hiệu bằng dấu .
  • Cứ tiếp tục lặp lại như vậy cho đến cấp N. Là sự mở rộng của cấp N - 1, ta thêm 4 mẫu tinh thể cấp N - 1 theo bốn hướng trên – dưới – trái – phải so với cấp N - 1. Các ô trống còn lại được ký hiệu bằng dấu .

Dữ liệu vào:

  • Gồm 1 dòng chứa 1 số tự nhiên N.

Dữ liệu ra:

  • Ma trận có kích thước ~3^{N-1}~ x ~3^{N-1}~ biểu diễn hình học fractal của tinh thể.

Input 1:

1

Output 1:

X

Input 2:

2

Output 2:

.X.
XXX
.X.

Input 3:

3

Output 3:

....X....
...XXX...
....X....
.X..X..X.
XXXXXXXXX
.X..X..X.
....X....
...XXX...
....X....

Giới hạn:

  • ~1 \le N \le 7~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.