#z1049. 学习
学习
【问题描述】
小 A 面前有 n 个项目,理论上小 A 需要学完所有项目。 但小 A 有强迫症,对于某些项目 x 和 y,小 A 必须要先学完 x 再开始学 y。 给出小 A 的所有强迫症描述,问小 A 能否完成所有项目的学习。
【输入格式】
第一行一个数 T 表示数据组数,之后 T 组数据。 对于每组数据: 第一行两个正整数 n,m,表示小 A 的项目数量和存在约束的项目对数,之后 m 行每行 2 个正整数 xi,yi,表示项目 yi 必须在学完项目 xi 后再开始。保证 xi≠yi。
【输出格式】
对于每组数据,如果小 A 能完成所有项目则输出 yes,否则输出 no。
【输入样例】 2 4 4 1 2 1 3 2 4 3 4 2 2 1 2 2 1 【输出样例】 yes no 【样例解释】
在第一组数据中,1 号项目需要在 2,3 号项目学习之前完成,4 号项目需要在 2,3 号项目学习之后完成,因此 1,2,3,4 是一种可能的学习顺序。
在第二组数据中,1 号项目需要在 2 号项目学习之前完成,2 号项目需要在 1 号项目学习之前完成,这是无法同时做到的。
【数据规模和约定】
- 对于 30% 的数据,保证 1≤n,m≤15。
- 对于 70% 的数据,保证 1≤n,m≤1000。
- 对于 100% 的数据,保证 1≤n,m≤105,1≤T≤10。
相关
在下列比赛中: