该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小易这一天来到了一个陌生的城市,这个城市可以表示为一张有向图,但可能存在环。小易初始在1号点,同时小易觉得这个城市很有趣,所以他想知道从1号点到其他点的路线个数。
对于每个顶点 v ,输出以下四个值之一:
- 0 ,如果没有从 1 到 v 的路径;
- 1 ,如果只有一条从 1 到 v 的路径;
- 2 ,如果从 1到 v 有多个路径,并且路径数量有限;
- −1 ,如果从 1 到 v 的路径数是无限的。
输入格式
输入的第一行包含一个整数t(1≤t≤104),表示输入中的测试案例数量。接下来是t个测试案例。每个测试案例前都有一个空行。
每个测试案例的第一行包含两个整数n和m(1≤n≤4×105,0≤m≤4×105),分别表示图中顶点和边的数量。接下来的m行包含边描述。每行包含两个整数ai和bi(1≤ai,bi≤n),表示第i条边的起点和终点。图中的顶点编号从1到n。给定的图可能包含环(即ai可能等于bi),但不能包含多重边(即对于i不等于j的情况,ai不能等于ai且bi不能等于bj)。
所有测试案例中n的总和不超过4×105。同样地,所有测试案例中m的总和也不超过4×105。
输出格式
输出应包含t行。第i行应该包含第i个测试案例的答案:一个由n个整数组成的序列,这些整数的取值范围是从−1到2。
样例数据
5
6 7
1 4
1 3
3 4
4 5
2 1
5 5
5 6
2 0
3 3
1 2
2 3
3 1
5 0
4 4
1 2
2 3
1 4
4 3
1 0 1 2 -1 -1
1 0
-1 -1 -1
1 0 0 0 0
1 1 2 1
样例解释
第一组数据图如下所示

数据规模与约定
输入的附加限制条件:所有测试用例中n 的总和不超过 4⋅105 。
| 测试点 |
t |
n |
m |
特殊情况 |
| 1−2 |
1≤t≤104 |
1≤n≤103 |
1≤m≤2⋅103 |
无 |
| 3−4 |
1≤n≤4⋅105 |
1≤m≤4⋅105 |
一定不存在环 |
| 5−6 |
2≤n≤4⋅105 |
1≤m≤4⋅105 |
可能存在环,但不存在自环 |
| 7−8 |
1≤n≤4⋅105 |
可能存在环和自环 |
| 9−10 |
1≤m≤4⋅105 |
无 |