AdventOfCode/2017/05/solution.py

86 lines
1.9 KiB
Python
Raw Normal View History

2024-11-15 18:28:48 +01:00
#!/bin/python3
import sys
from pprint import pprint
input_f = sys.argv[1]
#########################################
# #
# Part 1 #
# #
#########################################
lines = []
with open(input_f) as file:
for line in file:
lines.append(int(line.rstrip()))
curr = 0
tmp = 0
prev = 0
steps=0
while curr <= len(lines)-1:
steps+=1
#print('Start:',lines)
#print('Starting at index',curr,'value',lines[curr])
prev = curr
if curr+lines[curr] > len(lines)-1:
break
#print('Jumps from [',curr,'] =',lines[curr],'to ',end='')
curr = lines[curr]+curr
#print('[',curr,'] =',lines[curr])
#print('Increment',lines[prev],end=' ')
lines[prev] += 1
#print('to',lines[prev])
#print('End:',lines,'curr=',curr)
#input()
print(steps)
#########################################
# #
# Part 2 #
# #
#########################################
lines = []
with open(input_f) as file:
for line in file:
lines.append(int(line.rstrip()))
curr = 0
tmp = 0
prev = 0
steps=0
while curr <= len(lines)-1:
steps+=1
#print('Start:',lines)
#print('Starting at index',curr,'value',lines[curr])
prev = curr
if curr+lines[curr] > len(lines)-1:
break
#print('Jumps from [',curr,'] =',lines[curr],'to ',end='')
curr = lines[curr]+curr
#print('[',curr,'] =',lines[curr])
offset = lines[prev] #abs((lines[prev])-(lines[curr]))
#print('Offset:',offset)
if offset >= 3:
#print('Decrease',lines[prev],end=' ')
lines[prev] -= 1
else:
#print('Increase',lines[prev],end=' ')
lines[prev] += 1
#print('to',lines[prev])
#print('End:',lines,'curr=',curr)
#input()
print(steps)