diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..c6e5191 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +python 3.9.9 diff --git a/d05/part1.py b/d05/part1.py new file mode 100644 index 0000000..37e74f5 --- /dev/null +++ b/d05/part1.py @@ -0,0 +1,22 @@ +import sys +from collections import deque +# init data structure +S = list() +for _ in range(9): + S.append(deque()) +# parse initial positions +for _ in range(8): + line = next(sys.stdin) + for j in range(9): + c = line[4*j+1] + if c != " ": + S[j].append(c) +line = next(sys.stdin) +line = next(sys.stdin) +# process +while line := sys.stdin.readline(): + _, q, _, f, _, t = line.strip().split(" ") + for _ in range(int(q)): + S[int(t)-1].appendleft(S[int(f)-1].popleft()) +# print final positions +print("".join(s.popleft() for s in S)) \ No newline at end of file diff --git a/d05/part2.py b/d05/part2.py new file mode 100644 index 0000000..5af4d1a --- /dev/null +++ b/d05/part2.py @@ -0,0 +1,25 @@ +import sys +from collections import deque +# init data structure +S = list() +for _ in range(9): + S.append(deque()) +# parse initial positions +for _ in range(8): + line = next(sys.stdin) + for j in range(9): + c = line[4*j+1] + if c != " ": + S[j].append(c) +line = next(sys.stdin) +line = next(sys.stdin) +# process +while line := sys.stdin.readline(): + _, q, _, f, _, t = line.strip().split(" ") + tmp = deque() + for _ in range(int(q)): + tmp.append(S[int(f)-1].popleft()) + for _ in range(int(q)): + S[int(t)-1].appendleft(tmp.pop()) +# print final positions +print("".join(s.popleft() for s in S)) \ No newline at end of file