Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Elegant, funny and sexy solution in Clear category for Pawn Brotherhood by point_to_null
COL = 1
ROW = 1.e4 # Upvote if you understood LOL
def pawn_hash(pawn):
return sum(ROW ** pos * ord(char) for pos, char in enumerate(pawn))
def safe_pawns(pawns: set) -> int:
safe_cells = set()
pawn_cells = set()
for pawn in pawns:
pawn = pawn_hash(pawn)
pawn_cells.add(pawn)
safe_cells.add(pawn + ROW + COL)
safe_cells.add(pawn + ROW - COL)
return len(safe_cells & pawn_cells)
Oct. 4, 2019