45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import copy
|
|
|
|
map = []
|
|
with open("input21.txt") as file:
|
|
for line in file:
|
|
map.append(list(line[:-1]))
|
|
for y in range(0,26501365):
|
|
print(str(y)+" out of 26501365")
|
|
newmap = copy.deepcopy(map)
|
|
for i in range(0,len(map)):
|
|
for j in range(0,len(map[i])):
|
|
if map[i][j] == "S":
|
|
newmap[i][j] = "."
|
|
if i > 0:
|
|
if map[i-1][j] != "#":
|
|
newmap[i-1][j] = "S"
|
|
else:
|
|
if map[len(map)-1][j] != "#":
|
|
newmap[len(map)-1][j] = "S"
|
|
if i+1 < len(map):
|
|
if map[i+1][j] != "#":
|
|
newmap[i+1][j] = "S"
|
|
else:
|
|
if map[0][j] != "#":
|
|
newmap[0][j] = "S"
|
|
if j > 0:
|
|
if map[i][j-1] != "#":
|
|
newmap [i][j-1] = "S"
|
|
else:
|
|
if map[i][len(map[i])-1] != "#":
|
|
newmap[i][len(map[i])-1] = "S"
|
|
if j+1 < len(map[i]):
|
|
if map[i][j+1] != "#":
|
|
newmap[i][j+1] = "S"
|
|
else:
|
|
if map[i][0] != "#":
|
|
newmap[i][0] = "S"
|
|
map = copy.deepcopy(newmap)
|
|
cnt = 0
|
|
for r in map:
|
|
for a in r:
|
|
cnt += 1 if a == "S" else 0
|
|
print(cnt)
|
|
|