题解 | #相遇#

相遇

https://www.nowcoder.com/practice/5dc1ccabaa0442d8b83f00ec74b225fa

import sys
from collections import deque

# Constants
MAXN = 1e6+10
P = 100007

# Read input from stdin
n, m, t = map(int, sys.stdin.readline().split())

# Graph data structures
e = [[] for _ in range(int(MAXN))]
f = [0] * int(MAXN)
ind = [0] * int(MAXN)
dfn = [0] * int(MAXN)

# Reading graph edges
for _ in range(m):
    u, v = map(int, sys.stdin.readline().split())
    e[u].append(v)
    ind[v] += 1

# Topological sort algorithm using queue
q = deque()
for i in range(1, n+1):
    if ind[i] == 0:
        q.append(i)

cnt = 0
while q:
    u = q.popleft()
    cnt += 1
    dfn[cnt] = u
    for nx in e[u]:
        ind[nx] -= 1
        if ind[nx] == 0:
            q.append(nx)

# Calculating f values
f[t] = 1
for i in range(n, 0, -1):
    u = dfn[i]
    for nx in e[u]:
        f[u] = (f[u] + f[nx]) % P

# Output result
Q = int(sys.stdin.readline())
for _ in range(Q):
    s = int(sys.stdin.readline())
    print(f[s])

全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
求offer的大角牛:简历写的第一乱,没有突出重点,第二项目太多太杂看不出来有啥核心技术,第三自我评价太多了,第四获得的荣誉没啥含金量,可以不写,反正问题不少
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-23 14:13
这是聊岔撇了吗,相同的话问了两遍
吴offer选手:上下文切换这一块
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务