f=open("sisend1.txt", "r") m=f.readlines() f.close() linnad={} seisund=1 #seoste lugemine, 2 alglinna lugemine for rida in m: sonad=rida.split() if len(sonad)==0: seisund=2 #tyhi rida if seisund==1: linnad[sonad[0]]=sonad[1:] if seisund==2 and len(sonad)==1: algLinn=sonad[0] print(linnad) #uuritavLinn=algLinn #otsingute algkoht uuritudLinnad=[] # leitudLinnad=[algLinn] #teada, et olemas, aga edasiteed vaatamata tagasitee={} while leitudLinnad: uuritavLinn=leitudLinnad.pop() for linn in linnad[uuritavLinn]: if linn not in uuritudLinnad+leitudLinnad: leitudLinnad.append(linn) tagasitee[linn]=uuritavLinn uuritudLinnad.append(uuritavLinn) uuritudLinnad.remove(algLinn) print("Linnast "+algLinn+" saab linnadesse "+str(", ".join(uuritudLinnad))) f2=open("vastus1.txt", "w"); f2.write("Linnast "+algLinn+" saab linnadesse "+str(", ".join(uuritudLinnad))) f2.close() print(tagasitee) sihtkoht="Tapa" if sihtkoht not in tagasitee: print("Puudub yhendus "+algLinn+" "+sihtkoht) else: koht=sihtkoht teekond=[] while koht in tagasitee: teekond.append(koht) koht=tagasitee[koht] teekond.append(koht) teekond.reverse() print("-".join(teekond))