28332023-01-29 00:55:45VMGoJoRendőrségi őrjárat 2python3Futási hiba 0/1001.578s119504 KiB
from sys import stdin, stdout

minutes:int
first_it_list:set()
second_it_list:set()
found:bool
patrols:list()
def main():
    n,m,l = map(int,stdin.readline().split())
    nodes=[]

    def addConnection(a:int,b:int):
        nodes[a].add(b)
        nodes[b].add(a)

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

    for i in range(m):
        a,b = map(int,stdin.readline().split())
        addConnection(a,b)

    global minutes,first_it_list,second_it_list,found,patrols
    #print(nodes)
    patrols=stdin.readline().split()
    patrols = [int(i) for i in patrols]
    
    minutes=0
    first_it_list=[0]
    found=False
    #BREADTH FIRST SEARCH
    def do_layer(first_it_l):
        rt_set=set([])
        for i in first_it_l:
            for j in nodes[i]:
                rt_set.add(j)
        return rt_set

    def check_stuff(set_in):
        global found,patrols,minutes
        #print("removing: ",patrols[(minutes-1)%len(patrols)])
        try:
            
            set_in.remove(patrols[(minutes)%len(patrols)])
        except:
            pass
        if set_in.__contains__(n-1):
            stdout.write(str(minutes))
            found=True
        else:
            return set_in

    def do_min():
        global minutes, first_it_list,second_it_list
        minutes+=1
        second_it_list=check_stuff(do_layer(first_it_list))
        #print(second_it_list)
        if not found:
            first_it_list=second_it_list
            do_min()
    do_min()
main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva18ms11880 KiB
2Elfogadva17ms12052 KiB
subtask20/30
3Elfogadva25ms13060 KiB
4Elfogadva20ms13276 KiB
5Elfogadva28ms13380 KiB
6Elfogadva28ms13408 KiB
7Elfogadva25ms13224 KiB
8Elfogadva20ms13328 KiB
9Futási hiba230ms15204 KiB
subtask30/30
10Futási hiba677ms80072 KiB
11Futási hiba680ms81188 KiB
12Futási hiba691ms85788 KiB
13Futási hiba606ms89592 KiB
14Futási hiba703ms93372 KiB
subtask40/40
15Elfogadva1.231s115560 KiB
16Elfogadva970ms119504 KiB
17Időlimit túllépés1.578s49168 KiB
18Időlimit túllépés1.578s51620 KiB
19Időlimit túllépés1.578s51572 KiB
20Időlimit túllépés1.575s51912 KiB
21Időlimit túllépés1.565s51892 KiB
22Időlimit túllépés1.565s51928 KiB
23Elfogadva456ms111056 KiB
24Futási hiba702ms93920 KiB