Submission #54356459
Source Code Expand
N = int(input())
pattern = [["#", "#", "#"], ["#", ".", "#"], ["#", "#", "#"]]
pattern_dict = {1: pattern}
def make_level(K):
if K == 1:
return pattern
if K in pattern_dict:
return pattern_dict[K]
mini_mat = make_level(K - 1)
mat = [["-" for _ in range(3**K)] for _ in range(3**K)]
for i in range(3 ** (K - 1)):
for j in range(3 ** (K - 1)):
val = mini_mat[i][j]
if val == "#":
for k in range(3):
for ll in range(3):
mat[i * 3 + k][j * 3 + ll] = mini_mat[k][ll]
else:
for k in range(3):
for ll in range(3):
mat[i * 3 + k][j * 3 + ll] = "."
pattern_dict[K] = mat
return mat
if N == 0:
print("#")
exit()
for i in range(N):
make_level(i + 1)
if i == N - 1:
mat = pattern_dict[i + 1]
for j in range(3**N):
print(*mat[j], sep="")
Submission Info
| Submission Time | |
|---|---|
| Task | C - Sierpinski carpet |
| User | Raki |
| Language | Python (CPython 3.11.4) |
| Score | 250 |
| Code Size | 1035 Byte |
| Status | AC |
| Exec Time | 166 ms |
| Memory | 14248 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 250 / 250 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example_00.txt, example_01.txt |
| All | example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example_00.txt | AC | 9 ms | 8936 KiB |
| example_01.txt | AC | 10 ms | 8948 KiB |
| test_00.txt | AC | 27 ms | 9864 KiB |
| test_01.txt | AC | 9 ms | 8912 KiB |
| test_02.txt | AC | 12 ms | 9064 KiB |
| test_03.txt | AC | 9 ms | 8948 KiB |
| test_04.txt | AC | 10 ms | 9004 KiB |
| test_05.txt | AC | 166 ms | 14248 KiB |
| test_06.txt | AC | 9 ms | 9020 KiB |