Rezultati

Up. imeNalogaJezikRezultatČas oddaje
kjejenovictk-2018 Prehitevanje Python 3 100/100OK 04. okt '18 @ 17:47

Test Točke Porabljen spomin Porabljen čas Status
#1 16/16 8,586 MiB 0,000 s OK
#2 16/16 8,578 MiB 0,000 s OK
#3 17/17 8,598 MiB 0,000 s OK
#4 17/17 29,352 MiB 0,978 s OK
#5 17/17 97,293 MiB 3,451 s OK
#6 17/17 8,527 MiB 0,000 s OK

Ocenjevani program (prehitevanje.py):
import sys

data = sys.stdin.readlines()
#data = open("prehitevanjeTest.txt").readlines()

initialOrder = data[1:int(data[0])+1]
changes = data[int(data[0])+2:]

tekmovalci = {}
prev = None
for name in initialOrder:
    name = str(name.strip())
    if prev is None:
        tekmovalci[name] = [None, None]
        prvi = name
    else:
        tekmovalci[prev][1] = name
        tekmovalci[name] = [prev, None]
    prev = name

for change in changes:
    c1, c2 = change.strip().split()
    if tekmovalci[c1][1] is not None:
        tekmovalci[tekmovalci[c1][1]][0] = tekmovalci[c1][0]
    else:
        tekmovalci[tekmovalci[c1][0]][1] = None
    if tekmovalci[c1][0] is not None:
        tekmovalci[tekmovalci[c1][0]][1] = tekmovalci[c1][1]
    else:
        tekmovalci[tekmovalci[c1][1]][0] = None
        prvi = tekmovalci[c1][1]
    if tekmovalci[c2][0] is not None:
        tekmovalci[tekmovalci[c2][0]][1] = c1
    else:
        prvi = c1
    tekmovalci[c1][0] = tekmovalci[c2][0]
    tekmovalci[c1][1] = c2
    tekmovalci[c2][0] = c1



while True:
    print(prvi)
    prvi = tekmovalci[prvi][1]
    if prvi is None:
        break