課程安排 IV
偏序關係傳遞閉包的入門題——給定m對偏序關係(有向邊),查詢兩個點是否有路徑可達。
class Solution {
public:
vector<bool> checkIfPrerequisite(int n, vector<vector<int>>& prerequisites, vector<vector<int>>& queries) {
int g[110][110] = {0};
for(int i=0;i<n;i++){
g[i][i] = 1;
}
for(auto& edge:prerequisites){
g[edge[0]][edge[1]] = 1;
}
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
g[i][j] |= g[i][k] & g[k][j];
}
}
}
vector<bool> ans;
for(auto& edge:queries){
ans.push_back(g[edge[0]][edge[1]]);
}
return ans;
}
};