28482023-01-29 20:08:52VMGoJoRendőrségi őrjárat 2python3Időlimit túllépés 30/1001.601s117268 KiB
from sys import stdin, stdout
def main():
    n,m,l = map(int,stdin.readline().split())
    nodes:list[set[int]]=[]

    for i in range(n):
        nodes.append(set([i]))

    for i in range(m):
        a,b = map(int,stdin.readline().split())
        nodes[a].add(b)
        nodes[b].add(a)


    #print(nodes)
    patrols=stdin.readline().split()
    patrols = [int(i) for i in patrols]
    cop_loc:int=patrols[0]
    minutes:int=0
    first_it_list:set[int]=[0]
    #BREADTH FIRST SEARCH
    def do_layer(first_it_l:set[int]) ->set[int]:
        rt_set:set[int]=set([])
        for i in first_it_l:
            for j in nodes[i]:
                if j!=cop_loc:
                    rt_set.add(j)
        return rt_set
    while not first_it_list.__contains__(n-1):
        minutes+=1
        cop_loc=patrols[minutes%len(patrols)]
        first_it_list=do_layer(first_it_list)
    stdout.write(str(minutes))

main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva18ms11488 KiB
2Elfogadva17ms11368 KiB
subtask230/30
3Elfogadva26ms12904 KiB
4Elfogadva19ms13224 KiB
5Elfogadva28ms13312 KiB
6Elfogadva29ms13628 KiB
7Elfogadva26ms13884 KiB
8Elfogadva19ms14048 KiB
9Elfogadva279ms13976 KiB
subtask30/30
10Időlimit túllépés1.57s38172 KiB
11Időlimit túllépés1.601s39160 KiB
12Időlimit túllépés1.557s41352 KiB
13Időlimit túllépés1.57s43832 KiB
14Időlimit túllépés1.554s45872 KiB
subtask40/40
15Elfogadva949ms115468 KiB
16Elfogadva866ms117268 KiB
17Időlimit túllépés1.577s49156 KiB
18Időlimit túllépés1.585s51392 KiB
19Időlimit túllépés1.557s51436 KiB
20Időlimit túllépés1.57s51664 KiB
21Időlimit túllépés1.562s51732 KiB
22Időlimit túllépés1.559s51804 KiB
23Elfogadva541ms112168 KiB
24Időlimit túllépés1.582s46496 KiB