Search⌘ K
AI Features

Solution: Frog Position After T Seconds

Understand how to apply breadth-first search on trees to determine the probability of a frog’s position after a given time. This lesson guides you through simulating random movement on an undirected tree, handling unvisited neighbors, and calculating probabilities efficiently to solve the frog position problem at coding interviews.

Statement

You are given an undirected tree with n vertices labeled from 11 to nn. A frog starts at vertex 11, at time 00, and makes one move per second.

At each step, the frog follows these rules:

  1. Move to an unvisited neighbor:
    If the frog has unvisited neighbors, it jumps to one of them, chosen uniformly at random (equal probability for each choice).

  2. No revisiting:
    The frog can not jump back to a vertex it has already visited.

  3. Stay when stuck:
    The frog will keep jumping at its current vertex if there are no unvisited neighbors.

The tree is represented as an array of edges, where edges[i] = [aia_i, bib_i ...