Rezultati

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

Test Točke Porabljen spomin Porabljen čas Status
#1 0/9 8,512 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​gregor
<<<EOF>>>
Pravilen izhod:
​/gregor
<<<EOF>>>
#2 9/9 8,598 MiB 0,000 s OK
#3 0/9 8,531 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​a
<<<EOF>>>
Pravilen izhod:
​/a
<<<EOF>>>
#4 9/9 8,516 MiB 0,000 s OK
#5 0/9 8,645 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/asdf/asd/fgs
<<<EOF>>>
Pravilen izhod:
​/asdf/asd/fasd/fa/dsf/asdf/asd/fqwe/rq/w/asdf/asd/f/asdf/qw/e/qwe/fasd/f/asd/fqw/er/qwe/rawd/fas/df/qwe/rq/we/rfasd/fgasd/f/we/r/qwef/asd/fa/sdf/af/qwe/r/qwe/gsd/gsd/fg/sdf/g/qwe/fe/rg/sdf/gsdf/g/sdfg/sdf/gsd/fgs/dg/sdg/sdfg/sdfgsd/fgwe/wgsd/fgs
<<<EOF>>>
#6 0/9 8,789 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/tmbldzrayz/smmpvfujlf/smmpvfujlf/tmbldzrayz/smmpvfujlf/dccqqnticm
<<<EOF>>>
Pravilen izhod:
​/dccqqnticm
<<<EOF>>>
#7 0/9 9,207 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​kudcmrxjbecyxkqzmaefrtyadgkyqznjzjycryrzkjdtpfuvqerffpuagsnlumushkjclbekctkxesbhkkssyfnkiylqsimadvpyyovhqioaxfrshgnbammcgymnolgumyngfiuxhbtepnyjzuztzhoqmvgadbeedhexyofuejyxollnyisvltaljbhpkolhznlmphgkqryspqhugrzedzvxtslkkpezvjiasmufsxlmaakm
<<<EOF>>>
Pravilen izhod:
​/fsvpyakiuucmsspgkivisxnkjyjtvfhfksbqacdiojbktiehbjrjygijzkftlgnyltlgqifhvmfhdiuvunqmzveymlsifdhfcxgsqpaoykfbxfbgtbslohcvfyrrurxjjejnuksgcroklvpujonrlfoychysxsrzivtpyrotyaymevmlvoolymbngieooijkhaipojezlfixdlrnsqkjjyxsdijzmqmelzdhefctoxpcnbsj
<<<EOF>>>
#8 0/9 10,520 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/iyurv/jzzpe/jouxi/jhmgj/bxrax/glkzh
<<<EOF>>>
Pravilen izhod:
​/glnxs/xqecz/eslji/bksfe/iyurv/glkzh
<<<EOF>>>
#9 0/9 10,191 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/idfvl
<<<EOF>>>
Pravilen izhod:
​/fcnie/khbpp/pcava/lnmlz
<<<EOF>>>
#10 0/9 20,211 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​/k/x/x/k/o/k/z/z/m/x/m/x/x/z/o/k/o/x/o/k/x/k/x/z/z/z/z/k/o/m/m/m/x/z/z/z/o/k/m/x/x/z/z/k/z/k/x/k/k
<<<EOF>>>
Pravilen izhod:
​/o/x/m
<<<EOF>>>
#11 0/10 8,539 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​a
<<<EOF>>>
Pravilen izhod:
​/a/a/a/a/a/a
<<<EOF>>>

Ocenjevani program (birokrati.py):
class Oddelek:
    def __init__(self, ime):
        self.ime = ime
        self.uradniki = []
        self.pododdelki = []
        self.poslatan = False
    def dodaj(self, navodilo, koda):
        '''navodilo je array'''
        if len(navodilo) == 1:
            self.uradniki.append((navodilo[0], koda))
        else:
            naselFlag = False
            for o in self.pododdelki:
                if (o.ime == navodilo[0]):
                    o.dodaj(navodilo[1:], koda)
                    naselFlag = True
                    break
            if not naselFlag:
                odl = Oddelek(navodilo[0])
                odl.dodaj(navodilo[1:], koda)
                self.pododdelki.append(odl)
    
    def __lt__(self, other):
        return self.ime < other.ime
    
    def sortiraj(self):
        self.uradniki.sort()
        self.pododdelki.sort()
        for p in self.pododdelki:
            p.sortiraj()

    def printrok(self):
        print(self.ime)
        print(self.uradniki)
        for p in self.pododdelki:
            p.printrok()

i = "a"
podatki = []
birokracija = Oddelek("root")

try:
    while i != "":
        i = input()
        navodilo, koda = i.split()
        podatki.append((navodilo, koda))
        navodilo = navodilo.split("/")
        
        birokracija.dodaj(navodilo[1:], koda)
except:
    pass

birokracija.sortiraj()
#birokracija.printrok()

trenutni = birokracija
prvi = "tvoja mama"

#print("%%%%%%%%%%%%%%%%%%%%5")

while True:
    #print(trenutni.uradniki)
    #print(trenutni.pododdelki)
    if len(trenutni.uradniki) > 0:
        prvi = trenutni.uradniki[0]
        #print("HERE")
        break
    else:
        trenutni = trenutni.pododdelki[0]

ime, obtozba = prvi
obtozba = obtozba.split(".")
#print(obtozba)
trenutni = birokracija
predpona = "/"
while True:
    if len(obtozba) == 1:
        if int(obtozba[0]) > len(trenutni.uradniki):
            print(predpona[5:] + ime)
            break
        else:
            if trenutni.poslatan == True:
                print(predpona[5:] + ime)
                break
            
            trenutni.poslatan = True
            ime, obtozba = trenutni.uradniki[int(obtozba[0])-1]
            obtozba = obtozba.split(".")
            trenutni = birokracija
            predpona = "/"
    else:
        if int(obtozba[0]) > len(trenutni.pododdelki):
            print(predpona[5:] + ime)
            break
        else:
            predpona += trenutni.ime + "/" 
            trenutni = trenutni.pododdelki[int(obtozba[0])-1]
            obtozba = obtozba[1:]