1、题目
https://leetcode-cn.com/problems/keys-and-rooms/
2、题意
题解1:dfs
class Solution {
public:
void dfs(vector<vector<int>>& rooms,int house,vector<bool>&st)
{
st[house] = true;
for(int j=0;j<rooms[house].size();j++)
if(!st[rooms[house][j]])
dfs(rooms,rooms[house][j],st);
}
bool canVisitAllRooms(vector<vector<int>>& rooms) {
int m = rooms.size(),n = rooms[0].size();
vector<bool> st(m,false);
st[0] = true;
for(int i=0;i<n;i++)
{
if(!st[rooms[0][i]])
dfs(rooms,rooms[0][i],st);
}
for(int i=1;i<m;i++)
if(!st[i])
return false;
return true;
}
};