refactor: cleanup 1231C

This commit is contained in:
Muhammad Nauman Raza 2025-01-17 11:44:30 +00:00
parent e74cf0f331
commit b7a8d9b980
Signed by: devraza
GPG key ID: 91EAD6081011574B

View file

@ -15,15 +15,7 @@ def fail():
print("-1") print("-1")
sys.exit() sys.exit()
check = False def zero_replace(combined, placements):
for idx, i in enumerate(combined):
if i == 0:
placements = [combined[idx-m], combined[idx+m]]
if abs(placements[1]-placements[0]) == 1:
fail()
if abs(combined[idx+1]-combined[idx-1]) != 1:
if placements[0] != 0: if placements[0] != 0:
options = [ options = [
combined[idx-m]-1, combined[idx-m]-1,
@ -32,9 +24,11 @@ for idx, i in enumerate(combined):
minimum = min(range(len(options)), key=lambda x: options[x]) minimum = min(range(len(options)), key=lambda x: options[x])
if (abs(combined[idx-1]-combined[idx+m]) == 1) or (abs(combined[idx+1]-combined[idx-m]) == 1): diff_forward = abs(combined[idx-1]-combined[idx+m]) == 1
print("-1") diff_backward = abs(combined[idx+1]-combined[idx-m]) == 1
sys.exit()
if diff_forward or diff_backward:
fail()
if minimum == 1: if minimum == 1:
combined[idx] = options[minimum] combined[idx] = options[minimum]
@ -42,6 +36,16 @@ for idx, i in enumerate(combined):
combined[idx] = placements[0]-1 combined[idx] = placements[0]-1
else: else:
combined[idx] = combined[idx-1]-1 combined[idx] = combined[idx-1]-1
for idx, i in enumerate(combined):
if i == 0:
placements = [combined[idx-m], combined[idx+m]]
if abs(placements[1]-placements[0]) == 1:
fail()
if abs(combined[idx+1]-combined[idx-1]) != 1:
zero_replace(combined, placements)
else: else:
fail() fail()