Rezultati

Up. imeNalogaJezikRezultatČas oddaje
@memo2498F1-2017 Prijateljske besede Python 3 100/100OK 20. apr '17 @ 17:35

Test Točke Porabljen spomin Porabljen čas Status
#1 12/12 8,598 MiB 0,000 s OK
#2 12/12 8,664 MiB 0,000 s OK
#3 12/12 9,824 MiB 0,055 s OK
#4 12/12 10,215 MiB 0,000 s OK
#5 13/13 10,281 MiB 0,000 s OK
#6 13/13 10,207 MiB 0,000 s OK
#7 13/13 11,016 MiB 0,000 s OK
#8 13/13 10,262 MiB 0,000 s OK

Ocenjevani program (novi_prijatelji.py):
import sys

N = int(sys.stdin.readline().strip())

slovarZacetki = {}
slovarKonci = {}
slovarStevnosti = {}
prva = ''

for i in range(N):
    beseda = sys.stdin.readline().strip()
    if i == 0:
        prva = beseda
    slovarStevnosti[beseda] = slovarStevnosti.get(beseda, 0) + 1
    prepona = beseda[:3]
    koncnica = beseda[-3:]
    slovarZacetki[prepona] = slovarZacetki.get(prepona, set()) | {beseda}
    slovarKonci[koncnica] = slovarKonci.get(koncnica, set()) | {beseda}
    
visited = set()
queue = [prva]

while len(queue) > 0:
    trenutna = queue.pop(0)
    visited.add(trenutna)
    noviDruzabniki = slovarZacetki[trenutna[:3]] | slovarKonci[trenutna[-3:]]
    zanimiviDruzabniki = noviDruzabniki - visited
    queue += list(zanimiviDruzabniki)
    
prjatli = 0
for x in visited:
    prjatli += slovarStevnosti[x]
    
print(prjatli)