Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def safe_pawns(pawns: set) -> int:
- safe=set()
- for i in pawns:
- #vezi daca apara ceva
- a,b= getDiag(i)
- if a in pawns:
- safe.add(a)
- if b in pawns:
- safe.add(b)
- #print(safe)
- return len(safe)
- def getDiag(pawn):
- diag1=None
- diag2=None
- if pawn.endswith('8'):
- #no options
- return diag1, diag2
- elif pawn.startswith('a'):
- # one diag right upper
- diag2="b"+str(int(pawn[1])+1)
- return diag1, diag2
- elif pawn.startswith('h'):
- # one diag left upper
- diag1="g"+str(int(pawn[1])+1)
- return diag1, diag2
- else:
- #somewhere on the board
- diag1=getNextLeter(pawn[0]) + str(int(pawn[1])+1);
- diag2=getPrevLeter(pawn[0]) + str(int(pawn[1])+1);
- return diag1, diag2
- def getNextLeter(c):
- i=ord(c);
- i=i+1;
- return chr(i)
- def getPrevLeter(c):
- i=ord(c);
- i=i-1;
- return chr(i)
- if __name__ == '__main__':
- # safe_pawns({"b4", "d4", "f4", "c3", "e3", "g5", "d2"})
- #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!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement