初级
Forwards on Weibo
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(nl, data, qcount, qdata):
n, l = map(int, str(nl).split())
follows = {}
for rec in str(data).strip().split(','):
parts = list(map(int, rec.split()))
uid, k = parts[0], parts[1]
follows[uid] = parts[2:2+k]
from collections import deque
qcount = int(qcount)
queries = str(qdata).strip().split(',')
for i in range(qcount):
uid = int(queries[i])
visited = {uid}
q = deque([(uid, 0)])
count = 0
while q:
node, depth = q.popleft()
for follower in follows.get(node, []):
if follower not in visited:
visited.add(follower)
count += 1
if depth + 1 < l:
q.append((follower, depth + 1))
print(count)
示例
输入
solve('7 3', '1 3 2 3 4,2 2 5 6,3 1 7,4 0,5 0,6 0,7 0', 2, '1,2')
期望输出
6 2
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199