rename stuff
This commit is contained in:
1 parent
7c3d439f6e
commit
97ddc36b62
325 files changed
+85
No files matched your search
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
from copy import deepcopy
|
||||
|
||||
def imagine(im):
|
||||
for y in im:
|
||||
l = ''
|
||||
for x in y: l += x
|
||||
print(l)
|
||||
|
||||
def n(im,x,y,o):
|
||||
index = ''
|
||||
h = [(-1,-1), (-1,0), (-1,1), (0,-1), (0,0), (0,1), (1,-1), (1,0), (1,1)]
|
||||
for j,i in h:
|
||||
if (0 <= x+i < len(im[0]) and 0 <= y+j < len(im)): index += '0' if im[y+j][x+i] == '.' else '1'
|
||||
else: index += '0' if o == '.' else '1'
|
||||
return algo[int(index,2)]
|
||||
|
||||
def enhance(im, o):
|
||||
nex = deepcopy(im)
|
||||
for y in range(len(im)):
|
||||
for x in range(len(im[0])):
|
||||
nex[y][x] = n(im,x,y,o)
|
||||
return nex, '.' if o == '#' or mode == 'k' else '#'
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
algo, im = open(sys.argv[1]).read().split('\n\n')
|
||||
algo = list(algo.strip('\n'))
|
||||
im = [list(i) for i in im.split('\n') if i != '']
|
||||
|
||||
print('------------------ start -------------------')
|
||||
bim = [[im[i-50][j-50] if (49 < i <= len(im)+49 and 49 < j <= len(im[0])+49) else '.' for j in range(len(im[0]) + 100)] for i in range(len(im) + 100)]
|
||||
imagine(bim)
|
||||
|
||||
mode = 's' if algo[0] == '#' else 'k'
|
||||
|
||||
nim, o = bim, '.'
|
||||
for i in range(50):
|
||||
print('-------------------- ' + str(i) + ' ---------------------')
|
||||
nim, o = enhance(nim,o)
|
||||
imagine(nim)
|
||||
if i == 1: c1 = nim
|
||||
|
||||
# challenge 1
|
||||
res1 = str(sum(sum(1 if i == '#' else 0 for i in j) for j in c1))
|
||||
print("challenge 1:" + "\n" + res1 + "\n")
|
||||
|
||||
# challenge 2
|
||||
res2 = str(sum(sum(1 if i == '#' else 0 for i in j) for j in nim))
|
||||
print("challenge 2:" + "\n" + res2 + "\n")
|
||||
|
||||
Reference in new issue
Block a user