Rezultati

Up. imeNalogaJezikRezultatČas oddaje
vlakectomaz-2018 Birokrati Python 3 0/100Napačen odgovor (WA) 04. okt '18 @ 17:14

Test Točke Porabljen spomin Porabljen čas Status
#1 9/9 8,613 MiB 0,000 s OK
#2 9/9 8,594 MiB 0,000 s OK
#3 9/9 8,527 MiB 0,000 s OK
#4 9/9 8,609 MiB 0,000 s OK
#5 9/9 8,723 MiB 0,000 s OK
#6 9/9 8,984 MiB 0,000 s OK
#7 9/9 9,164 MiB 0,000 s OK
#8 9/9 11,652 MiB 0,000 s OK
#9 0/9 11,172 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/dzxfm
<<<EOF>>>
Pravilen izhod:
​/fcnie/khbpp/pcava/lnmlz
<<<EOF>>>
#10 0/9 26,238 MiB 0,042 s Napačen odgovor
Tvoj izhod:
​/k
<<<EOF>>>
Pravilen izhod:
​/o/x/m
<<<EOF>>>
#11 10/10 8,594 MiB 0,000 s OK

Ocenjevani program (birokrati.py):
hierarhija = {
    "delavci": [],
    "pododdelki": {}
}

while True:
    try:
        path, ids = input().split(" ")
        path_s = path.lstrip("/")
        path_items = path_s.split("/")
        path_numbers = [int(i)-1 for i in ids.split(".")]
        
        oddelki, ime = path_items[:-1], path_items[-1]
        trenutni_oddelek = hierarhija
        
        for o in oddelki:
            if o not in trenutni_oddelek["pododdelki"]:
                trenutni_oddelek["pododdelki"][o] = {
                    "id": len(trenutni_oddelek["pododdelki"]),
                    "delavci": [],
                    "pododdelki": {},
                    "ime": o
                }
                
            trenutni_oddelek = trenutni_oddelek["pododdelki"][o]
        
        trenutni_oddelek["delavci"].append([path, path_numbers, False, ime])
    except EOFError:
        break
    
#print(hierarhija)

def transform(trenutni_oddelek):
    trenutni_oddelek["pododdelki"]=sorted(trenutni_oddelek["pododdelki"].values(), key=lambda x:x["ime"])
    trenutni_oddelek["delavci"] = sorted(trenutni_oddelek["delavci"], key=lambda x:x[3])
    for p in trenutni_oddelek["pododdelki"]:
        transform(p)

transform(hierarhija)

trenutni_oddelek = hierarhija
while(len(trenutni_oddelek["delavci"]) == 0):
    trenutni_oddelek = trenutni_oddelek["pododdelki"][0]
    
trenutni_delavec = trenutni_oddelek["delavci"][0]
konec = False
while True:
    # print(trenutni_delavec)
    oseba = trenutni_delavec[1][-1]
    oddelki = trenutni_delavec[1][:-1]
    
    trenutni_oddelek = hierarhija
    for o in oddelki:
        if(o >= len(trenutni_oddelek["pododdelki"])):
            konec=True
            break
        trenutni_oddelek=trenutni_oddelek["pododdelki"][o]
    
    if(konec or oseba >= len(trenutni_oddelek["delavci"]) or trenutni_oddelek["delavci"][oseba][2]):
        break
        
    trenutni_oddelek["delavci"][oseba][2] = True
    trenutni_delavec = trenutni_oddelek["delavci"][oseba]
    
print(trenutni_delavec[0])