From ef4f59a33f226e1b1c619a17417c6c7009d9c017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 16 Dec 2020 06:52:49 +0100 Subject: 16: remove prints --- 20/py/d16.py | 18 ------------------ 1 file changed, 18 deletions(-) (limited to '20/py/d16.py') diff --git a/20/py/d16.py b/20/py/d16.py index e2c1170..e9f478b 100644 --- a/20/py/d16.py +++ b/20/py/d16.py @@ -8,11 +8,9 @@ def pt1(_in): for line in _in[:20]: thing = [] line = line.strip().split(": ") - name = line[0] for a in line[1].split(" or "): b = a.split("-") thing.append(range(int(b[0]), int(b[1])+1)) - # things.append((name, thing)) things.append(thing) res = 0 for line in _in[25:]: @@ -33,13 +31,10 @@ def pt2(_in): for line in _in[:20]: thing = [] line = line.strip().split(": ") - name = line[0] for a in line[1].split(" or "): b = a.split("-") thing.append(range(int(b[0]), int(b[1])+1)) - # constraints.append((name, thing)) constraints.append(thing) - print("\n".join(str(c) for c in constraints)) tickets = [] for line in _in[25:]: @@ -60,25 +55,15 @@ def pt2(_in): # for each field # assume it can be anything candidates = [set(range(20)) for _ in range(20)] # one set per field - print("\n".join(str(c) for c in candidates)) - # for each ticket for t, ticket in enumerate(tickets): - print(t, ticket) for f, field in enumerate(ticket): - print(f, field) - print(candidates[f]) for c, constraint in enumerate(constraints): - print(c, constraint) if c in candidates[f] and not any(field in cons for cons in constraint): - print(f"{f} cannot be {c}") candidates[f].remove(c) - print("\n".join(str(c) for c in candidates)) - know = [-1 for _ in range(20)] while any(len(c) > 0 for c in candidates): - print(know, "\n", "\n".join(str(c) for c in candidates)) for c, cand in enumerate(candidates): if len(cand) == 1: know[c] = cand.pop() @@ -87,13 +72,10 @@ def pt2(_in): for cand in candidates: if to_remove in cand: cand.remove(to_remove) - print() - print("\n".join(str(c) for c in candidates)) my = list(int(n) for n in _in[22].strip().split(",")) res = 1 for f, field in enumerate(know): - print(f, field) if field < 6: res *= my[f] return res -- cgit v1.2.1