(indata: str)
| 29 | |
| 30 | @aoc.main('18') |
| 31 | def main(indata: str) -> tuple[int,int]: |
| 32 | grid = indata.split('\n') |
| 33 | p1 = resource_value(step(grid,10)) |
| 34 | seen = {} |
| 35 | for i in range(1000000000): |
| 36 | grid = step(grid,1) |
| 37 | s = ''.join(''.join(row) for row in grid) |
| 38 | if s in seen: |
| 39 | left = (1000000000 - seen[s] - 1) % (i-seen[s]) |
| 40 | grid = step(grid,left) |
| 41 | break |
| 42 | seen[s] = i |
| 43 | return p1, resource_value(grid) |
| 44 | |
| 45 | if __name__ == "__main__": |
| 46 | main() |
no test coverage detected