Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
HOME - "Pawn Brotherhood" solution in Uncategorized category for Pawn Brotherhood by jsg-inet
def safe_pawns(pawns: set) -> int:
def defence_positions(place: str)-> set:
files=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
if place[1]==1: return {'xx', 'xx'}
if place[0] =='a':
def_pos_a= 'XX'
else:
def_pos_a= files[files.index(place[0])-1]+str(int(place[1])-1)
if place[0] =='h':
def_pos_b= 'XX'
else:
def_pos_b= files[files.index(place[0])+1]+str(int(place[1])-1)
return {def_pos_a, def_pos_b}
print(pawns)
safe=0
for p in pawns:
if not defence_positions(p).isdisjoint(pawns): safe += 1
return safe
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert safe_pawns({"b4", "d4", "f4", "c3", "e3", "g5", "d2"}) == 6
assert safe_pawns({"b4", "c4", "d4", "e4", "f4", "g4", "e5"}) == 1
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
June 16, 2021