-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCourse Schedule IV
More file actions
32 lines (28 loc) · 845 Bytes
/
Course Schedule IV
File metadata and controls
32 lines (28 loc) · 845 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Solution {
public:
vector<bool> checkIfPrerequisite(int n, vector<vector<int>>& prerequisites, vector<vector<int>>& queries) {
vector<set<int>> cs(n+1);
for(auto x: prerequisites)
cs[x[0]].insert(x[1]);
for(int i=0; i<=n; i++){
for(auto x: cs[i])
for(auto y: cs[x])
if(!cs[i].count(y))
cs[i].insert(y);
}
for(int i=0; i<=n; i++){
for(auto x: cs[i])
for(auto y: cs[x])
if(!cs[i].count(y))
cs[i].insert(y);
}
vector<bool> ans;
for(auto x: queries){
if(cs[x[0]].count(x[1]))
ans.push_back(true);
else
ans.push_back(false);
}
return ans;
}
};