From fe75c10e350743a1c078f065d69556fecf825ca5 Mon Sep 17 00:00:00 2001 From: nekineki Date: Sun, 11 Dec 2022 14:47:27 +0100 Subject: move files around, update paths --- 2022/day9/asd.py | 115 ------------------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100755 2022/day9/asd.py (limited to '2022/day9/asd.py') 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) - -- cgit v1.2.3