89462024-02-07 15:14:30petergalambosKerékpártúra (50 pont)python3Elfogadva 50/50358ms51088 KiB
from sys import stdin, stdout
def main():
    N, M, K = [int(i) for i in input().split()]
    oda = [[] for i in range(N+1)]
    vissza = [[] for i in range(N+1)]
    for i in range(M):
        x,y = [int(i) for i in stdin.readline().split()]
        oda[x].append(y)
        vissza[y].append(x)

    sor = [K]
    vvolt = [False] * (N+1)
    vvolt[K] = True
    while sor != []:
        P = sor.pop(0)
        for v in vissza[P]:
            if not vvolt[v]:
                vvolt[v] = True
                sor.append(v)       
    S = set()
    for o in oda[K]:
        S.add(o)
        
    sor = [K]
    volt = [False] * (N+1)
    volt[K] = True
    while sor != []:
        P = sor.pop(0)
        for o in oda[P]:
            if not volt[o]:
                volt[o] = True
                sor.append(o)
                if vvolt[o]:
                    for od in oda[o]:
                        S.add(od)
    S.remove(K)
    print(len(S))
    print(*S)
    
main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/018ms11492 KiB
2Elfogadva0/063ms19696 KiB
3Elfogadva2/218ms12092 KiB
4Elfogadva2/217ms11848 KiB
5Elfogadva2/217ms12392 KiB
6Elfogadva2/217ms12496 KiB
7Elfogadva2/217ms12544 KiB
8Elfogadva2/224ms13116 KiB
9Elfogadva2/224ms13336 KiB
10Elfogadva2/225ms13380 KiB
11Elfogadva2/228ms14436 KiB
12Elfogadva2/246ms16152 KiB
13Elfogadva2/246ms16248 KiB
14Elfogadva2/270ms18368 KiB
15Elfogadva3/397ms24636 KiB
16Elfogadva4/4107ms26088 KiB
17Elfogadva4/4140ms30060 KiB
18Elfogadva3/3125ms28692 KiB
19Elfogadva3/3112ms27460 KiB
20Elfogadva3/3317ms46912 KiB
21Elfogadva3/3351ms49716 KiB
22Elfogadva3/3358ms51088 KiB