题目描述
题目描述
珅泽是一个河蟹的大家庭,许多优秀的学员聚集在一起,每天都会有许多同学在聊天。当有人有问题的时候,就会有很多像马二狗一样热心的同学会来帮助他,然后被帮助的同学会叫帮助自己的同学“师傅”,而帮助同学的同学就会拥有一个“徒弟”。
渐渐地,出现了许多对“师傅和徒弟”的关系。但随之而来的问题是我们怎么知道它是否合法?
我们知道一个师傅可以有很多的徒弟,一个徒弟也可以有很多的师傅,这是合法的。然而,有些同学并不诚实,他们持有非法的关系。如 A 是 B 的师傅,B 是 A 的师傅,这样的关系就是非法的。
现在给定一些师徒关系,请你判断是否存在非法的关系。注意师徒关系是可以传递的,如 A 是 B 的师傅,B 是 C 的师傅,则 A 是 C 的师傅。
输入格式
输入包含多组数据。每组数据第一行包含两个整数 ,表示同学人数和师徒关系数。接下来 行,每行两个整数 ,表示 是 的师傅。
当输入为 0 0 时结束。
输出格式
对于每组数据,如果所有关系合法,输出 YES;否则输出 NO。
数据范围与约定
根据本题测试数据,,,同学编号为 至 。
可见测试数据
输入数据 1
3 2
0 1
1 2
2 2
0 1
1 0
0 0
输出数据 1
YES
NO
输入数据 2
8 20
0 4
0 7
1 0
1 2
1 3
1 4
1 5
1 6
1 7
2 1
3 2
3 4
3 7
4 2
5 4
5 7
6 2
6 7
7 2
7 4
0 0
输出数据 2
NO
输入数据 3
4 5
0 1
0 3
1 3
2 1
2 3
7 14
0 2
1 0
1 2
1 3
1 6
2 3
2 5
3 5
4 0
4 2
4 3
5 1
6 2
6 4
0 0
输出数据 3
YES
NO