summaryrefslogtreecommitdiff
path: root/2022/day9/asd.py
diff options
context:
space:
mode:
Diffstat (limited to '2022/day9/asd.py')
-rwxr-xr-x2022/day9/asd.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/2022/day9/asd.py b/2022/day9/asd.py
deleted file mode 100755
index 5a1d94a..0000000
--- a/2022/day9/asd.py
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env python3
-
-# import numpy as np
-from functools import reduce
-from re import findall
-from copy import deepcopy
-import sys
-import time
-
-animate = False
-# filename = "ref.txt"
-# filename = "ref2.txt"
-filename = "pzl.txt"
-data = open(filename).read()
-lines = [line for line in data.rstrip('\n').split('\n')]
-
-
-moves = []
-for a in lines:
- m = [0, 0]
- direction, count = a.split(' ')
- if direction == 'R':
- m = [1, 0]
- elif direction == 'U':
- m = [0, 1]
- elif direction == 'D':
- m = [0, -1]
- elif direction == 'L':
- m = [-1, 0]
-
- # m = [int(count)*i for i in m]
- for _ in range(int(count)):
- moves.append(m)
-
-# print(moves)
-
-res1 = 0
-h = [0,0]
-t = [0,0]
-visited = set()
-visited.add(tuple(t))
-
-for m in moves:
- h = [hi + mi for hi,mi in zip(h,m)]
-
- dx = h[0] - t[0]
- dy = h[1] - t[1]
-
- if abs(dx) > 1 or (abs(dx) > 0 and abs(dy) > 1):
- t[0] += dx//abs(dx)
-
- if abs(dy) > 1 or (abs(dy) > 0 and abs(dx) > 1):
- t[1] += dy//abs(dy)
-
- visited.add(tuple(t))
-
-
-res2 = 0
-ht = [[0,0] for i in range(10)]
-visited9 = set()
-visited9.add(tuple(ht[9]))
-
-
-def print_grid(arr, c=''):
- lx = 100
- ly = 40
- grid = [['.' for _ in range(lx)] for _ in range(ly)]
-
- for i, (x, y) in enumerate(arr):
- try:
- grid[-y+ly//2][x+lx//2] = c if c!='' else str(i)
- except:
- pass
-
- grid[ly//2][lx//2] = "s"
-
- print('\x1b[2J')
- for line in grid:
- for c in line:
- print(c, end="")
- print("")
- time.sleep(1/20)
-
-for m in moves:
- ht[0] = [hi + mi for hi,mi in zip(ht[0],m)]
-
- for i,_ in enumerate(ht):
- if i == 0:
- continue
- dx = ht[i-1][0] - ht[i][0]
- dy = ht[i-1][1] - ht[i][1]
-
- if abs(dx) > 1 or (abs(dx) > 0 and abs(dy) > 1):
- ht[i][0] += dx//abs(dx)
-
- if abs(dy) > 1 or (abs(dy) > 0 and abs(dx) > 1):
- ht[i][1] += dy//abs(dy)
-
- # print(ht)
- visited9.add(tuple(ht[9]))
-
- if animate:
- print_grid(ht)
-
-# print(visited9)
-
-res1 = len(visited)
-res2 = len(visited9)
-
-if animate == True:
- print_grid(visited9, c='#')
-else:
- print('res1:', res1)
- print('res2:', res2)
-