Class Solution
- java.lang.Object
-
- g1901_2000.s1916_count_ways_to_build_rooms_in_an_ant_colony.Solution
-
public class Solution extends Object
1916 - Count Ways to Build Rooms in an Ant Colony.Hard
You are an ant tasked with adding
nnew rooms numbered0ton-1to your colony. You are given the expansion plan as a 0-indexed integer array of lengthn,prevRoom, whereprevRoom[i]indicates that you must build roomprevRoom[i]before building roomi, and these two rooms must be connected directly. Room0is already built, soprevRoom[0] = -1. The expansion plan is given such that once all the rooms are built, every room will be reachable from room0.You can only build one room at a time, and you can travel freely between rooms you have already built only if they are connected. You can choose to build any room as long as its previous room is already built.
Return the number of different orders you can build all the rooms in. Since the answer may be large, return it modulo
109 + 7.Example 1:
Input: prevRoom = [-1,0,1]
Output: 1
Explanation: There is only one way to build the additional rooms: 0 \u2192 1 \u2192 2
Example 2:
Input: prevRoom = [-1,0,0,1,2]
Output: 6
Explanation: The 6 ways are:
0 \u2192 1 \u2192 3 \u2192 2 \u2192 4
0 \u2192 2 \u2192 4 \u2192 1 \u2192 3
0 \u2192 1 \u2192 2 \u2192 3 \u2192 4
0 \u2192 1 \u2192 2 \u2192 4 \u2192 3
0 \u2192 2 \u2192 1 \u2192 3 \u2192 4
0 \u2192 2 \u2192 1 \u2192 4 \u2192 3
Constraints:
n == prevRoom.length2 <= n <= 105prevRoom[0] == -10 <= prevRoom[i] < nfor all1 <= i < n- Every room is reachable from room
0once all the rooms are built.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intwaysToBuildRooms(int[] prevRoom)
-