Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Eaten Go Stones by tom-tom
def go_game(board):
empty, black, white = ({(i, j) for j, row in enumerate(board) for i, c in enumerate(row) if c == t} for t in '+BW')
def near(stones, border):
return {(i, j) for i, j in stones if {(i + 1, j), (i - 1, j), (i, j + 1), (i, j - 1)} & border}
def eaten_num(stones):
not_eaten = near(stones, empty)
while not_eaten:
stones -= not_eaten
not_eaten = near(stones, not_eaten)
return len(stones)
return {'B': eaten_num(black), 'W': eaten_num(white)}
June 9, 2019
Comments: