Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Pawn Brotherhood by janusztracz73ms
def safe_pawns(pawns):
pola = ["a1","a2","a3","a4","a5","a6","a7","a8","b1","b2","b3","b4","b5","b6","b7","b8","c1","c2","c3","c4","c5","c6","c7","c8","d1","d2","d3","d4","d5","d6","d7","d8","e1","e2","e3","e4","e5","e6","e7","e8","f1","f2","f3","f4","f5","f6","f7","f8","g1","g2","g3","g4","g5","g6","g7","g8","h1","h2","h3","h4","h5","h6","h7","h8"]
bezpieczne = []
piony = []
koniec = []
for x in pawns:
if x.startswith("a"):
bezpieczne.append(pola[pola.index(x) + 9])
elif x.startswith("h"):
bezpieczne.append(pola[pola.index(x) - 7])
else:
bezpieczne.append(pola[pola.index(x) + 9])
bezpieczne.append(pola[pola.index(x) - 7])
piony.append(x)
for i in piony:
for z in bezpieczne:
if i == z:
koniec.append(i)
bolo = set(koniec)
return len(bolo)
print(safe_pawns(["g7","h8"]))
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
Oct. 21, 2016