There are numCourses courses. prerequisites[i]=[a,b] means you must take b before a. Return true if you can finish all courses (no cycle), else false.
n=2, prereqs=[[1,0]]trueState 1 = "in current DFS path". If we recurse to a node with state 1, we've found a back edge (cycle). State 2 = fully processed, safe to skip.