參考資訊:
https://www.cnblogs.com/grandyang/p/10415773.html
題目:

解答:
#define MAX_LEN 3000
void travel(int **rooms, int *size, int cur, int *q)
{
int c0 = 0;
q[cur] = 1;
for (c0 = 0; c0 < size[cur]; c0++) {
if (q[rooms[cur][c0]] == 0) {
travel(rooms, size, rooms[cur][c0], q);
}
}
}
bool canVisitAllRooms(int** rooms, int roomsSize, int* roomsColSize)
{
int r = 0;
int c0 = 0;
int q[MAX_LEN] = { 0 };
travel(rooms, roomsColSize, 0, q);
for (c0 = 0; c0 < MAX_LEN; c0++) {
if (q[c0] > 0) {
r += 1;
}
}
return (r == roomsSize) ? true : false;
}