PAST4D
from Fourth Algorithm Practical Skills Test
PAST4D
D - alter ego
Thoughts.
Fill in the blanks from the end
If there's an empty space that's in contact with the edge, that length is the minimum required.
Count the number of blanks
Tip: If the longest blank is less than or equal to the sum of the blanks at both ends, then moving to fill in the blanks at both ends is sufficient.
supplement
The order of operation is irrelevant.
Official Explanation
50 x 50 so you can explore the whole area.
code:python
def solve(N, S):
spaces = []
if S0 == ord("#"):
spaces.append(0)
state = "BLOCK"
else:
state = "SPACE"
c = 0
for i in range(N):
if state == "SPACE":
if Si == ord("."):
c += 1
else:
spaces.append(c)
state = "BLOCK"
else:
if Si == ord("."):
state = "SPACE"
c = 1
else:
pass
if state == "BLOCK":
spaces.append(0)
else:
spaces.append(c)
m = max(spaces)
if m > spaces0 + spaces-1:
print(spaces0, m - spaces0)
else:
print(spaces0, spaces-1)
---
This page is auto-translated from /nishio/PAST4D using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.