There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 3 you have to first take course 2, which is expressed as a pair: [2, 3]. Given the total number of courses and a list of prerequisite pairs, is it possible for you to finish all the courses?

Problem Note

  • Return 1 if it is possible to finish all the courses, or 0 if it is not possible to finish all the courses.
  • The input prerequisites is a graph represented by a list of edges, not adjacency matrices.
  • You may assume that there are no duplicate edges in the input prerequisites.

Example 1

Input: n = 3
list of prerequisite pairs = [[1, 0], [2, 1], [3, 2]]

Output: 1
Explanation: There are a total of 3 courses to take. To pick course 1 you should have finished course 0, and to pick course 2 you should have finished course 1 and to pick course 3 you should have finished course 2. So it is possible.

Example 2:

Input: n = 2
list of prerequisite pairs = [[1,0],[0,1]]

Output: 0
Explanation: There are a total of 2 courses to take.To take course 1 you should have finished course 0, and to take course 0 you should also have finished course 1.So it is impossible.