2
public List<Boolean> checkIfPrerequisite(int numCourses, int[][] prerequisites, int[][] queries) {4
Map<Integer, List<Integer>> graph = new HashMap<>();5
for (int e[] : prerequisites) {6
graph.putIfAbsent(e[0], new ArrayList<>());7
graph.get(e[0]).add(e[1]);10
List<Boolean> list = new ArrayList<>();11
// Appling DFS for every query to get result12
for (int[] q : queries) {13
list.add(isPre(q[0], q[1], graph, new HashSet<>()));18
// Check if src comes before dst using DFS19
private boolean isPre(int src, int dst, Map<Integer, List<Integer>> adj, Set<Integer> visited) {20
if (visited.contains(src)) return false;22
for (int neigh : adj.getOrDefault(src, new ArrayList<>())) {23
if (neigh == dst || isPre(neigh, dst, adj, visited)) return true;