풀이 영상 보고 풀었는데 어디가 문제인가요?
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**9)
def dfs(s,g,visit):
if visit[s]==1:
return
visit[s]=1
for x in g[s]:
dfs(x,g,visit)
n,m = map(int,input().split())
graph=[[] for _ in range(n+1)]
graph_r=[[] for _ in range(n+1)]
for _ in range(m):
a,b=map(int,input().split())
graph[a].append(b)
graph_r[b].append(a)
s,e = map(int,input().split())
s_in = [0]*(n+1)
dfs(s,graph_r,s_in)
s_out = [0]*(n+1)
s_out[e]=1
dfs(s,graph,s_out)
e_in = [0]*(n+1)
dfs(e,graph_r,e_in)
e_out = [0]*(n+1)
e_out[s]=1
dfs(e,graph,e_out)
ans=0
for i in range(n+1):
if s_in[i] and s_out[i] and e_in[i] and e_out[i]:
ans+=1
print(ans-2)