Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Pawn Brotherhood by Lachesis_132296
#str(chr(97)) == 'a'
def safe_pawns(pawns):
#row - o 1 mniejsze
#column - o 1 mniejsze lub o 1 większe
matrix = {}
for i in pawns:
matrix[i[0], int(i[1])] = 1
safe = 0
# print(str(chr(ord('b') - 1))) == 'a'
for key in matrix.keys():
#jeżeli w matrycy element o linijkę niżej i kolumnę o 1 w przód/w tył jest różny od zera, to pionek jest bezpieczny:
if matrix.get((chr((ord(key[0])+1)), key[1]-1), 0) != 0 or matrix.get((chr((ord(key[0])-1)), key[1]-1), 0) != 0:
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
Nov. 19, 2016