82 lines
2.0 KiB
Python
82 lines
2.0 KiB
Python
def dolzina_ovir(vrstica):
|
|
count = 0
|
|
for char in vrstica:
|
|
if char == "#":
|
|
count += 1
|
|
return count
|
|
|
|
def stevilo_ovir(vrstica):
|
|
count = 0
|
|
ovira = False
|
|
for char in vrstica:
|
|
if char == "#":
|
|
if not ovira:
|
|
ovira = True
|
|
elif ovira:
|
|
count += 1
|
|
ovira = False
|
|
if ovira:
|
|
count += 1
|
|
return count
|
|
|
|
def najsirsa_ovira(vrstica):
|
|
sirina_max = 0
|
|
sirina = 0
|
|
for char in vrstica:
|
|
if char == "#":
|
|
sirina += 1
|
|
else:
|
|
if sirina > sirina_max:
|
|
sirina_max = sirina
|
|
sirina = 0
|
|
if sirina > sirina_max:
|
|
sirina_max = sirina
|
|
return sirina_max
|
|
|
|
def pretvori_vrstico(vrstica):
|
|
ovire = []
|
|
ovira = False
|
|
start = 0
|
|
for i, char in enumerate(vrstica):
|
|
if char == "#":
|
|
if not ovira:
|
|
start = i + 1
|
|
ovira = True
|
|
elif ovira:
|
|
ovire.append((start, i))
|
|
ovira = False
|
|
if ovira:
|
|
ovire.append((start, i + 1))
|
|
return ovire
|
|
|
|
def pretvori_zemljevid(vrstice):
|
|
ovire = []
|
|
for y, vrstica in enumerate(vrstice, start=1):
|
|
for ovira in pretvori_vrstico(vrstica):
|
|
ovire.append((*ovira, y))
|
|
return ovire
|
|
|
|
def izboljsave(prej, potem):
|
|
nove_ovire = []
|
|
star_zemljevid = pretvori_zemljevid(prej)
|
|
for ovira in pretvori_zemljevid(potem):
|
|
if ovira not in star_zemljevid:
|
|
nove_ovire.append(ovira)
|
|
return nove_ovire
|
|
|
|
def huligani(prej, potem):
|
|
dodane_ovire = []
|
|
odstranjene_ovire = []
|
|
|
|
star_zemljevid = pretvori_zemljevid(prej)
|
|
nov_zemljevid = pretvori_zemljevid(potem)
|
|
|
|
for ovira in star_zemljevid:
|
|
if ovira not in nov_zemljevid:
|
|
odstranjene_ovire.append(ovira)
|
|
|
|
for ovira in nov_zemljevid:
|
|
if ovira not in star_zemljevid:
|
|
dodane_ovire.append(ovira)
|
|
|
|
return dodane_ovire, odstranjene_ovire |