Rezultati

Up. imeNalogaJezikRezultatČas oddaje
python3-2017 Prijateljske besede Python 3 0/100Prekoračen čas (TLE) 20. apr '17 @ 18:02

Test Točke Porabljen spomin Porabljen čas Status
#1 12/12 8,379 MiB 0,000 s OK
#2 0/12 8,355 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​75
<<<EOF>>>
Pravilen izhod:
​76
<<<EOF>>>
#3 0/12 8,469 MiB 5,826 s Prekoračen čas
#4 0/12 8,395 MiB 5,836 s Prekoračen čas
#5 13/13 8,543 MiB 0,411 s OK
#6 0/13 8,375 MiB 5,821 s Prekoračen čas
#7 13/13 8,477 MiB 0,000 s OK
#8 0/13 8,414 MiB 5,816 s Prekoračen čas

Ocenjevani program (friendly.py):
import sys

def is_pre(s1,s2):
    if s1[0:3]==s2[0:3]:
        return True
    else:
        return False

def is_suff(s1,s2):
    if s1[len(s1)-3:len(s1)]==s2[len(s2)-3:len(s2)]:
        return True
    else:
        return False


def friendly():
    t=1
    k=1
    i=0
    l=[]
    f=sys.stdin
    s=f.readline()
    s=s[:len(s)-1]
    for line in f:
        l.append(line[:len(line)-1])
    word=l[0]
    new_l=set()
    for i in range(1,len(l)):
        if (is_pre(l[i],word)==True) or (is_suff(l[i],word)==True):
            new_l.add(l[i])
    #print(new_l)
    new_s=new_l.copy()
    while k!=0:
        k=0
        for i in new_l:
            for j in range(1,len(l)):
                if (is_pre(i,l[j])==True) or (is_suff(i,l[j])==True):
                    if (l[j] in new_l)==False:
                        new_s.add(l[j])
                        #print(new_s)
                        k+=1
        new_l=new_l.union(new_s)
        #t+=k
        #print(new_l)
    #print(new_s)
    new_l.add(l[0])
    return len(new_l)

print(friendly())