46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
with open('puzzle.txt', 'r') as f:
|
|
lines = f.read().splitlines()
|
|
|
|
segmented_report = []
|
|
|
|
for line in lines:
|
|
segmented_report.append([int(x) for x in line.split(' ')])
|
|
|
|
safe_reports = 0
|
|
bad_reports = 0
|
|
|
|
for report in segmented_report:
|
|
if len(report) != len(set(report)):
|
|
bad_reports += 1
|
|
pass
|
|
|
|
elif report[0] > report[-1]:
|
|
good_report = False
|
|
for i in range(len(report) - 1):
|
|
if 3 >= report[i] - report[i + 1] >= 1:
|
|
good_report = True
|
|
else:
|
|
good_report = False
|
|
bad_reports += 1
|
|
break
|
|
|
|
if good_report:
|
|
print(report)
|
|
safe_reports += 1
|
|
|
|
elif report[0] < report[-1]:
|
|
good_report = False
|
|
for i in range(len(report) - 1):
|
|
if 3 >= report[i + 1] - report[i] >= 1:
|
|
good_report = True
|
|
else:
|
|
good_report = False
|
|
bad_reports += 1
|
|
break
|
|
|
|
if good_report:
|
|
print(report)
|
|
safe_reports += 1
|
|
|
|
print(f'bad_reports {bad_reports}')
|
|
print(f'safe_reports {safe_reports}') |