laud={} faililaud={} ridu=8 veerge=8 sammud=[[-2,-1],[-2,1],[-1,-2],[-1,2],[1,-2],[1,2],[2,-1],[2,1]] def asukohatahed(rida, veerg): taht=chr(ord('a')+veerg) return taht+str(rida+1) def kasSees(rida, veerg): return rida in range(ridu) and veerg in range(veerge) def kasVaba(rida, veerg): return kasSees(rida, veerg) and failisisu[ridu-1-rida][veerg]!="#" def lubatudK2igud(rida, veerg): return [asukohatahed(rida+samm[0], veerg+samm[1]) for samm in sammud if kasVaba(rida+samm[0], veerg+samm[1])] failisisu=open("laud.txt").readlines() #vahetage failis trellide asukohti, veenduge, et võimalikud käigud näidataks for rida in range(ridu): for veerg in range(veerge): if kasVaba(rida, veerg): laud[asukohatahed(rida, veerg)]=lubatudK2igud(rida, veerg) if failisisu[ridu-1-rida][veerg]=="R": algkoht=asukohatahed(rida, veerg) if failisisu[ridu-1-rida][veerg]=="S": sihtkoht=asukohatahed(rida, veerg) print(laud) #vahetage kaarti. Kuvage teekond või teatage selle puudumisest uuritavad=[algkoht] tagasitee={algkoht:algkoht} while uuritavad: uuritav=uuritavad.pop(0) for koht in laud[uuritav]: if koht not in tagasitee: tagasitee[koht]=uuritav uuritavad.append(koht) print(tagasitee) if sihtkoht not in tagasitee: print("tee puudub") exit(0) teekond=[sihtkoht] koht=sihtkoht while koht!=algkoht: koht=tagasitee[koht] teekond.append(koht) print("-".join(teekond))