89512024-02-07 18:02:11NagyLeoA lehető legkevesebb metróval utazás (40 pont)python3Hibás válasz 8/4097ms67048 KiB
def main3():
    N, M, Dep, Arr = map(int, input().split())
    metro = []
    Dep_index = set()
    Arr_index = set()
    for i in range(N):
        asd = list(map(int, input().split()))

        metro.append(set(asd[1:]))
        if Dep in metro[i]:
            Dep_index.add(i)
        if Arr in metro[i]:
            Arr_index.add(i)
        if i in Arr_index and i in Dep_index:
            print(1)
            print(i+1)
            return

    graph={}

    for i in range(N-1):
        for j in range(i+1, N):
            if not metro[i].isdisjoint(metro[j]):
                try:
                    graph[i].append(j)
                except:
                    graph[i] = [j]

    touched = Dep_index.copy()
    current_res = [0]*N
    for i in Dep_index:
        current_res[i]=[i]
    while Dep_index:
        tmp=[]
        for i in Dep_index:
            if i not in graph:
                continue
            for j in graph[i]:
                if j not in touched:
                    tmp.append(j)
                    touched.add(j)
                    current_res[j]=current_res[i]+[j]
                    if j in Arr_index:
                        print(len(current_res[j]))
                        [print(x+1, end=" ") for x in current_res[j]]
                        return
        Dep_index=tmp

    print("-1")

main3()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/40
1Elfogadva0/017ms11260 KiB
2Hibás válasz0/043ms14380 KiB
3Elfogadva2/217ms12476 KiB
4Elfogadva2/217ms12268 KiB
5Elfogadva2/217ms12676 KiB
6Elfogadva2/217ms12784 KiB
7Hibás válasz0/219ms13780 KiB
8Hibás válasz0/219ms14132 KiB
9Hibás válasz0/221ms15232 KiB
10Hibás válasz0/224ms14288 KiB
11Hibás válasz0/220ms14092 KiB
12Hibás válasz0/250ms16728 KiB
13Hibás válasz0/250ms17028 KiB
14Hibás válasz0/243ms16900 KiB
15Futási hiba0/297ms66860 KiB
16Futási hiba0/289ms67040 KiB
17Futási hiba0/296ms67048 KiB
18Futási hiba0/294ms66716 KiB
19Hibás válasz0/237ms15084 KiB
20Hibás válasz0/241ms15856 KiB
21Hibás válasz0/230ms15128 KiB
22Hibás válasz0/243ms16564 KiB