fajl = open('fak.txt',encoding='utf-8')
forras = fajl.read().splitlines()
fajl.close()
jobb = [int(sor.split('\t')[1]) for sor in forras]
bal = [int(sor.split('\t')[0]) for sor in forras]
print(f'1. feladat\nAz út két oldalán {len(jobb)}-{len(bal)} fa van.')

atlag = (sum(bal)+sum(jobb))/(len(bal)+len(jobb))
print(f'\n2. feladat\nAz uborkafák átlagos magassága {int(atlag)},{int(100*round(atlag-int(atlag),2))} cm.')

print(f'A bal oldalon {sum([1 for f in bal if f>atlag])}, a jobb oldalon {sum([1 for f in jobb if f>atlag])} átlagosnál magasabb fa van')

maxmagas = max([max(jobb),max(bal)])
koord = [str(i+1)+'B' for i in range(len(bal)) if bal[i]==maxmagas] + [str(i+1)+'J' for i in range(len(jobb)) if jobb[i]==maxmagas]
print(f'\n3. feladat\nAz intézet büszkesége(i) {maxmagas} cm magas(ak). Koordinátái(k):',' '.join(koord))

szegyen = [[str(i+1)+'B',bal[i]] for i in range(1,len(bal)-1) if bal[i-1]>bal[i] and bal[i]<bal[i+1]]
szegyen += [[str(i+1)+'J',jobb[i]] for i in range(1,len(jobb)-1) if jobb[i-1]>jobb[i] and jobb[i]<jobb[i+1]]
szegyen.sort(key=lambda e:e[1], reverse=True)
jomagassag = szegyen[0][1]
koord = [s[0] for s in szegyen if s[1]==jomagassag]
print(f'\n4. feladat\nAz intézet szégyene(i) {jomagassag} cm magas(ak). Koordinátái(k):',' '.join(koord))

print('\n5. feladat: Az első 10 fa adatai:')
magassagok = set(jobb + bal)    #kiszűri az egyforma magasságokat
magassagok = list(magassagok)
magassagok.sort(reverse=True)
szamuk = 1
for i in range(10):
    koord1 = []
    for j in range(len(jobb)):
        if magassagok[i]==jobb[j]:
            if szamuk <=10:
                koord1.append(str(j+1)+'J')
                szamuk += 1
    for j in range(len(bal)):
        if magassagok[i]==bal[j]:
            if szamuk <=10:
                koord1.append(str(j+1)+'B')
                szamuk += 1
    if koord1:  #ha van benne valami 
        print(str(magassagok[i])+' cm, '+' '.join(koord1))

ugrasok = ['1B']
i = 0
oldal = 'B'
while i<=48:
    if oldal=='B':  #bal oldalon van épp
        b=bal[i+1]  #vagy ide ugorhat
        kovb = str(i+2)+'B'
        j=jobb[i]   #vagy ide
        kovj = str(i+1)+'J'
        #ha már volt azon a fán, ami a következő lenne:
        if kovb in ugrasok:     # ha már volt a bal oldali fán, a jobbra átugrik
            ugrasok.append(kovj)
            oldal = 'J'
        elif kovj in ugrasok:   # ha már volt a jobb oldali fán, a bal oldal köv. fájára megy
            ugrasok.append(kovb)
            i += 1
        else:                   # egyik oldali fán sem volt még
            if b>=j:            # a bal oldali, köv. fa magasabb a jobb oldali szomszédnál
                ugrasok.append(kovb)
                i += 1
            else:
                ugrasok.append(kovj)
                oldal = 'J'
    else:           #jobb oldalon van épp
        b=bal[i]    #vagy ide ugorhat
        kovb = str(i+1)+'B'
        j=jobb[i+1]   #vagy ide
        kovj = str(i+2)+'J'
        #ha már volt azon a fán, ami a következő lenne:
        if kovj in ugrasok:     # ha már volt a bal oldali fán, a jobbra átugrik
            ugrasok.append(kovj)
            oldal = 'B'
        elif kovb in ugrasok:   # ha már volt a jobb oldali fán, a bal oldal köv. fájára megy
            ugrasok.append(kovj)
            i += 1
        else:                   # egyik oldali fán sem volt még
            if j>=b:            # a bal oldali, köv. fa magasabb a jobb oldali szomszédnál
                ugrasok.append(kovj)
                i += 1
            else:
                ugrasok.append(kovb)
                oldal = 'B'        
fajl=open('ubul.txt','w')
print(' '.join(ugrasok),file=fajl)



fajl.close()
