diff --git a/src/main/java/com/dota/graph/Solution.java b/src/main/java/com/dota/graph/Solution.java new file mode 100644 index 0000000..104ce19 --- /dev/null +++ b/src/main/java/com/dota/graph/Solution.java @@ -0,0 +1,36 @@ +package com.dota.graph; + +import java.util.*; + +class Solution { + + long res = 0; + + public long minimumFuelCost(int[][] roads, int seats) { + List[] map = new List[roads.length + 1]; + for (int i = 0; i < map.length; i++) { + map[i] = new ArrayList<>(); + } + + for (int[] road : roads) { + map[road[0]].add(road[1]); + map[road[1]].add(road[0]); + } + + dfs(0, -1, seats, map); + return res; + } + + int dfs(int start, int from, int seats, List[] map) { + int cur = 1; + for (Integer i : map[start]) { + if (i != from) { + int childSum = dfs(i, start, seats, map); + cur += childSum; + res += (childSum + seats - 1)/seats; + } + } + + return cur; + } +} \ No newline at end of file