알고리즘
[leetcode] 841. Keys and Rooms
JSYOvO
2021. 4. 18. 11:58
728x90
class Solution {
public:
bool DFS(vector<vector<int>>& rooms, vector<int>& visited, int now, int& chked){
bool ret = false;
if(visited[now]){
return ret;
}
if(chked == rooms.size() - 1) return !ret;
visited[now] = 1;
chked++;
for(int i:rooms[now]){
ret = ret | DFS(rooms, visited, i, chked);
}
return ret;
}
bool canVisitAllRooms(vector<vector<int>>& rooms) {
vector<int> visited(rooms.size(), 0);
int chked = 0;
return DFS(rooms, visited, 0, chked);
}
};
너무 쉬운 DFS 문제로 코멘트 생략~~