2
public double frogPosition(int n, int[][] edges, int t, int target) {4
List<List<Integer>> graph = new ArrayList<>();5
for (int i = 0; i <= n; i++) graph.add(new ArrayList<>());7
for (int i = 0; i < edges.length; i++) {9
graph.get(edges[i][0]).add(edges[i][1]);10
graph.get(edges[i][1]).add(edges[i][0]);12
boolean[] vis = new boolean[n + 1];13
return Sol(graph, 1, t, target, vis);16
public double Sol(List<List<Integer>> graph, int ver, int t, int tar, boolean[] vis) {19
for (Integer child : graph.get(ver)) {20
if (!vis[child]) count++;27
if (count == 0 || t == 0) return 1.0;30
if (graph.get(ver).size() == 0) return 0;34
for (Integer child : graph.get(ver)) {36
// System.out.println(child);37
if (!vis[child]) ans += (double) (1.0 / count) * Sol(graph, child, t - 1, tar, vis);39
// System.out.println(ans);