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] uuritudLinnad=[] #pole enam põhjust analüüsida leitudLinnad=[algLinn] #teada, et olemas, aga edasiteed vaatamata tagasitee={algLinn: algLinn} 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))) print("tagasitee massiiv: "+str(tagasitee)) #Kirjuta iga leitud seotud linna kohta, millist teed pidi #saab sealt tagasi alglinna for uuritav in uuritudLinnad: while tagasitee[uuritav]!=uuritav and tagasitee[uuritav]!="": print(uuritav, end=" - ") uuritav=tagasitee[uuritav] print(uuritav) f2=open("vastus1.txt", "w"); f2.write("Linnast "+algLinn+" saab linnadesse "+str(", ".join(uuritudLinnad))) f2.close()