diff --git a/task5/main.py b/task5/main.py index b6ff7cb..a39a448 100644 --- a/task5/main.py +++ b/task5/main.py @@ -18,21 +18,24 @@ mice: list[int] = [i for i in range(grey + white)] eaten: list[int] = [] current_mouse = 0 while len(mice) > total_remaining: + current_mouse: int = (current_mouse + S) % len(mice) eaten.append(mice[current_mouse]) mice.pop(current_mouse) - current_mouse: int = (current_mouse + S - 1) % len(mice) pattern: list[Mouse] = [Mouse.undefined] * (grey + white) pattern[0] = Mouse.grey for i in range(grey_remaining): - pattern[mice.pop()] = Mouse.grey + pattern[mice.pop(0)] = Mouse.grey for i in range(white_remaining): - pattern[mice.pop()] = Mouse.white + pattern[mice.pop(0)] = Mouse.white for i in range(grey - grey_remaining): - pattern[eaten.pop()] = Mouse.grey + pattern[eaten.pop(0)] = Mouse.grey for i in range(white - white_remaining): - pattern[eaten.pop()] = Mouse.white + pattern[eaten.pop(0)] = Mouse.white + +if len([a for a in pattern if a == Mouse.grey]) != grey or pattern[0] != Mouse.grey: + raise ValueError(f"Невозможный исход: {" ".join(map(lambda x: str(x.value), pattern))}") print(*map(lambda x: x.value, pattern))