Problem C: 选修课程
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:79
Solved:42
Description
新学期开始,学校给出了一张选修课程表,这个学期你必须选修 n门课程,在选修某些课程之前需要一些先修课程。 先修课程按有向图的路径表示,如下图示的选修课程表中路径(1 3),则表示要学习课程 C3 则必须先学习完先修课程 C1 。校务处的张老师时常会将课程的前后次序搞颠倒了,现在请你判断依张老师新出的这一学期选修课程表,你是否能完成所有的 n门课程的学习?如果可以,返回 true ;否则,返回 false 。(请用DFS和卡恩两种方法)
Input
输入第一行两个整数,n门课程及m个选择 。接下m行为 m个选择,数字间空格分隔。
Output
输出能完成所有的 n门课程学习返回 true ;否则,返回 false 。
Sample Input Copy
7 10
1 3
1 4
2 4
2 6
3 5
4 5
4 6
4 7
5 7
6 7
Sample Output Copy
true
HINT
2=<n<=200, 2=<m<=2000