saturn-examples/scu-dsp/advent/2020/day1/generate_input.py

36 lines
875 B
Python

import random
def has_2020_2(l):
length = len(l)
found = set()
for i in range(length):
for j in range(length):
if i == j:
continue
if l[i] + l[j] == 2020:
found.add(frozenset((i, j)))
return len(found) == 1
def has_2020_3(l):
length = len(l)
found = set()
for i in range(length):
for j in range(length):
for k in range(length):
if i == j or k == i:
continue
if l[i] + l[j] + l[k] == 2020:
found.add(frozenset((i, j)))
return len(found) == 1
def gen_random():
return [random.randint(100, 2500) for _ in range(64)]
def find_input():
while True:
l = gen_random()
if has_2020_2(l) and has_2020_3(l):
return l
print("\n".join(map(str, find_input())))