Rezultati

Up. imeNalogaJezikRezultatČas oddaje
Kumkvat Prijateljske besede Python 3 0/100Napačen odgovor (WA) 20. apr '17 @ 19:04

Test Točke Porabljen spomin Porabljen čas Status
#1 0/12 8,625 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​9
<<<EOF>>>
Pravilen izhod:
​5
<<<EOF>>>
#2 0/12 8,648 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​96
<<<EOF>>>
Pravilen izhod:
​76
<<<EOF>>>
#3 0/12 9,500 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2937
<<<EOF>>>
Pravilen izhod:
​2978
<<<EOF>>>
#4 0/12 9,836 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2873
<<<EOF>>>
Pravilen izhod:
​2154
<<<EOF>>>
#5 0/13 9,965 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2559
<<<EOF>>>
Pravilen izhod:
​20
<<<EOF>>>
#6 0/13 9,926 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2777
<<<EOF>>>
Pravilen izhod:
​819
<<<EOF>>>
#7 0/13 10,379 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2
<<<EOF>>>
Pravilen izhod:
​1
<<<EOF>>>
#8 0/13 10,023 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2930
<<<EOF>>>
Pravilen izhod:
​1178
<<<EOF>>>

Ocenjevani program (naloga4.py):
import sys

j = int(sys.stdin.readline())
besede = []
for i in range(j):
    besede.append(sys.stdin.readline().strip())

dict = {}
for beseda in besede:
    n = len(beseda)
    if beseda[:3] in dict.keys():
        dict[beseda[:3]].add(beseda)
    else:
        dict[beseda[:3]] = {beseda}
    if n > 3:
        if beseda[n-3:] in dict.keys():
            dict[beseda[n-3:]].add(beseda)
        else:
            dict[beseda[n-3:]] = {beseda}

prva = besede[0]
n = len(prva)
uporabljeni = set()
besede = set()

if n == 3:
    set = {prva}
else: set = {prva[:3], prva[n-3:]}

while len(set) > 0:
    niz = set.pop()
    uporabljeni.add(niz)
    podobni = dict[niz]
    while(len(podobni)) > 0:
        a = podobni.pop()
        besede.add(a)
        zac = a[:3]
        kon = a[len(a)-3:]
        if zac not in uporabljeni:
            set.add(zac)
        if kon not in uporabljeni:
            set.add(kon)

print(len(besede))