Rezultati

Up. imeNalogaJezikRezultatČas oddaje
pitoni-2017 Jungle Speed Python 3 100/100OK 11. maj '17 @ 18:03

Test Točke Porabljen spomin Porabljen čas Status
#1 9/9 8,609 MiB 0,000 s OK
#2 9/9 8,598 MiB 0,000 s OK
#3 9/9 8,617 MiB 0,000 s OK
#4 9/9 8,645 MiB 0,000 s OK
#5 9/9 8,617 MiB 0,000 s OK
#6 9/9 8,594 MiB 0,000 s OK
#7 9/9 8,594 MiB 0,000 s OK
#8 9/9 8,609 MiB 0,000 s OK
#9 9/9 8,590 MiB 0,000 s OK
#10 9/9 8,605 MiB 0,000 s OK
#11 10/10 8,602 MiB 0,000 s OK

Ocenjevani program (jungle.py):
class Igralec(object):
    def __init__(self, karte):
        self.junk = []
        self.deck = karte[:]

    def __str__(self):
        return "Igralec({deck},\t{junk})".format(**self.__dict__)

    __repr__  = __str__

    def poteza(self):
        if self.deck == []:
            self.deck = self.junk[::-1]
            self.junk = []
        k = self.deck.pop()
        self.junk.append(k)
        return k

n = int(input())
k = list(map(int, input().split()))
navrsti = 0


igralci = [Igralec(k[i::n]) for i in range(n)]
while True:
    #for i, igr in enumerate(igralci):
        #print("*" * (i == navrsti), igr)
    k = igralci[navrsti].poteza()
    for i in range(n):
        if i != navrsti and igralci[i].junk != [] and igralci[i].junk[-1] == k:
            igralci[navrsti].junk = igralci[i].junk + igralci[navrsti].junk;
            igralci[i].junk = []
            igralci[navrsti].deck = igralci[navrsti].junk[::-1] + igralci[navrsti].deck
            igralci[navrsti].junk = []
            
            if igralci[i].deck == []:
                print(i+1)
                quit()
            break
    else:
        navrsti += 1
        navrsti %= n
    #print("---------")