7729 2024. 01. 10 18:48:35 Satya Tom és Jerry 1 (80) python3 Időlimit túllépés 20/80 600ms 66984 KiB
beolvas = input()
beolvas = beolvas.strip().split(' ')
n = int(beolvas[0])
m = int(beolvas[1])
t = int(beolvas[2])
p = int(beolvas[3])
e = int(beolvas[4])
graf = []
kezd = []

for i in range(n+1):
    graf.append([])

for i in range(m):
    beolvas = input()
    beolvas = beolvas.strip().split(' ')
    lista = [beolvas[1], beolvas[2]]
    graf[int(beolvas[0])].append(lista)
    lista2 = [beolvas[0], beolvas[2]]
    graf[int(beolvas[1])].append(lista2)


for i in range(p):
    k = int(input())
    kezd.append(k)

tom_tav = [-1]*(n+1)
tom_tav[6] = 0

def tomBejar(t, depth):
    global tom_tav
    for i in range(len(graf[t])):
        if int(graf[t][i][1]) == 2:
            if tom_tav[int(graf[t][i][0])] == -1 or tom_tav[int(graf[t][i][0])] > depth:
                tom_tav[int(graf[t][i][0])] = depth
                tomBejar(int(graf[t][i][0]), depth+1)

tomBejar(t, 1)

jerry_nyer = ['NEM']*p
jerry_tav = [-1]*(n+1)

def jerryBejar(index, j, depth):
    global jerry_nyer
    for i in range(len(graf[j])):
        if tom_tav[int(graf[j][i][0])] == -1:
            if int(graf[j][i][0]) == e:
                jerry_nyer[index] = 'IGEN'
            elif jerry_tav[int(graf[j][i][0])] == -1:
                jerry_tav[int(graf[j][i][0])] = depth+1
                jerryBejar(index, int(graf[j][i][0]), depth+1)
            elif jerry_tav[int(graf[j][i][0])] > depth+1:
                jerry_tav[int(graf[j][i][0])] = depth+1
                jerryBejar(index, int(graf[j][i][0]), depth+1)
        elif depth+1 < tom_tav[int(graf[j][i][0])]:
            if int(graf[j][i][0]) == e:
                jerry_nyer[index] = 'IGEN'
            else:
                if jerry_tav[int(graf[j][i][0])] == -1:
                    jerry_tav[int(graf[j][i][0])] = depth + 1
                    jerryBejar(index, int(graf[j][i][0]), depth + 1)
                elif jerry_tav[int(graf[j][i][0])] > depth+1:
                    jerry_tav[int(graf[j][i][0])] = depth + 1
                    jerryBejar(index, int(graf[j][i][0]), depth + 1)

for i in range(p):
    jerry_tav = [-1] * (n + 1)
    jerry_tav[kezd[i]] = 0
    jerryBejar(i, kezd[i], 0)

for i in jerry_nyer:
    print(i)
Részfeladat Összpont Teszt Verdikt Idő Memória
base 20/80
1 Elfogadva 0/0 18ms 11636 KiB
2 Időlimit túllépés 0/0 524ms 5276 KiB
3 Elfogadva 4/4 18ms 12304 KiB
4 Elfogadva 4/4 18ms 12364 KiB
5 Elfogadva 4/4 24ms 12872 KiB
6 Elfogadva 4/4 26ms 13056 KiB
7 Elfogadva 4/4 96ms 13800 KiB
8 Időlimit túllépés 0/4 510ms 14988 KiB
9 Időlimit túllépés 0/4 536ms 15572 KiB
10 Időlimit túllépés 0/4 600ms 6992 KiB
11 Futási hiba 0/4 57ms 21980 KiB
12 Futási hiba 0/4 68ms 24340 KiB
13 Futási hiba 0/4 101ms 29464 KiB
14 Futási hiba 0/4 248ms 43568 KiB
15 Futási hiba 0/4 375ms 55556 KiB
16 Futási hiba 0/4 375ms 58948 KiB
17 Futási hiba 0/4 326ms 66776 KiB
18 Futási hiba 0/4 328ms 54464 KiB
19 Futási hiba 0/4 328ms 54208 KiB
20 Futási hiba 0/4 333ms 53988 KiB
21 Futási hiba 0/4 303ms 51936 KiB
22 Futási hiba 0/4 323ms 66984 KiB