43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
from lib import get_data
|
|
from lib import ints
|
|
|
|
|
|
data = get_data(__file__)
|
|
|
|
s1 = 0
|
|
s2 = 0
|
|
|
|
for line in data.splitlines():
|
|
xs = ints(line)
|
|
|
|
deltas = []
|
|
for i in range(len(xs) - 1):
|
|
deltas.append(xs[i + 1] - xs[i])
|
|
if abs(xs[i + 1] - xs[i]) not in [1, 2, 3]:
|
|
break
|
|
else:
|
|
if deltas[0] < 0 and all(deltas[i] < 0 for i in range(len(deltas))):
|
|
s1 += 1
|
|
elif deltas[0] > 0 and all(deltas[i] > 0 for i in range(len(deltas))):
|
|
s1 += 1
|
|
|
|
sublists = [xs[:i] + xs[i + 1 :] for i in range(len(xs))]
|
|
found = False
|
|
for xs in sublists:
|
|
deltas = []
|
|
for i in range(len(xs) - 1):
|
|
deltas.append(xs[i + 1] - xs[i])
|
|
if abs(xs[i + 1] - xs[i]) not in [1, 2, 3]:
|
|
break
|
|
else:
|
|
if deltas[0] < 0 and all(deltas[i] < 0 for i in range(len(deltas))):
|
|
|
|
found = True
|
|
if deltas[0] > 0 and all(deltas[i] > 0 for i in range(len(deltas))):
|
|
found = True
|
|
if found:
|
|
s2 += 1
|
|
|
|
print(s1)
|
|
print(s2)
|