Frog Position After T Seconds LeetCode solution in Python
1class Solution:2def frogPosition(3self, n: int, edges: List[List[int]], t: int, target: int4) -> float:5nei = collections.defaultdict(set)6for a, b in edges:7nei[a].add(b)8nei[b].add(a)910visited, res = set(), 0.01112def dfs(leaf_id, p, time):13nonlocal res14if time >= t:15if leaf_id == target:16res = p17return18visited.add(leaf_id)19neighbors = nei[leaf_id] - visited20for n in neighbors or [leaf_id]:21dfs(n, p / (len(neighbors) or 1), time + 1)2223dfs(1, 1, 0)24return res