#!/bin/python3 import sys from pprint import pprint input_f = sys.argv[1] seeds, *maps = open(input_f).read().split('\n\n') seeds = seeds.split(':')[1].split() #pprint(seeds) #pprint(maps) tmp_seeds = [] for i in range(0,len(seeds)-1,2): #print('Creating range: ' + seeds[i] + ' to ' + str(int(seeds[i+1])+int(seeds[i])-1)) for j in range(int(seeds[i]),int(seeds[i+1])+int(seeds[i])): tmp_seeds.append(j) seeds = tmp_seeds #count = 1000000 count = 0 #for i in range(1000000,2000000): #maps.reverse() for seed in range(0,50): print("seed: " + str(seed),end="") for i in maps: tmp = [] i = i.split() #print(i) #for ldx,l in enumerate(seeds): # l = int(l) # count += 1 for x in range(2,len(i)-2,3): d = int(i[x]) s = int(i[x+1]) r = int(i[x+2]) #print('Looking for ' + str(l) + ' in range ' + str(s) + ' > ' + str((s+r)),end='') if s <= seed and seed < s + r: seed = d + (seed - s) print(seed) break else: print() #print(seeds) """ for i in range(0,7): tmp = [] for j in range(2,len(nmaps[i]),3): print("des " + str(nmaps[i][j])) print("src " + str(nmaps[i][j+1])) print("rng " + str(nmaps[i][j+2])) for x in range(int(nmaps[i][j]),int(nmaps[i][j])+int(nmaps[i][j+2])): print(x) """