Advertisement
Guest User

Untitled

a guest
Dec 9th, 2021
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.40 KB | None | 0 0
  1. r = range(len(g := [[*map(int, line.strip())] for line in open("input")]))
  2. n = lambda i,j:((k,l) for k,l in ((i,j-1),(i,j+1),(i-1,j),(i+1,j)) if (k in r)&(l in r))
  3. bs = [(i,j) for i in r for j in r if all(g[k][l] > g[i][j] for k,l in n(i,j))]
  4. def dfs(p): g[p[0]][p[1]] = 9; return 1+sum(dfs((i,j)) for i,j in n(*p) if g[i][j] != 9)
  5. print(sum(1+g[i][j] for i,j in bs), (s:=sorted(map(dfs, bs)))[-1]*s[-2]*s[-3])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement