#DMY25S1702. 环

环

环

文件与限制

输入文件:circle.in;输出文件:circle.out。

时间限制:2 秒;空间限制:128 MiB。使用 C++14 O2。

题目描述

一个王国有 nn 个城市、mm 条单向道路。

小 L 有一个初始为 00 的计数器。每经过一条边,计数器加一;从 22 加一后变为 00。

求有多少个城市,可以从该城市出发,经过若干条边后回到起点,并使计数器变为 11。允许重复经过点和边。

输入格式

第一行两个整数 n,mn,m。接下来 mm 行,每行两个整数 u,vu,v,表示一条从 uu 到 vv 的有向边。点编号为 11 到 nn。不额外排除自环或重边。

输出格式

输出一个整数,表示符合条件的城市数。

样例 1

2 2
1 2
2 1
2

样例 2

3 3
1 2
2 3
3 1
0

样例 3

见附加文件 samples.zip 中的 ex_circle3.in/out。

数据范围

对于全部数据,1≤n≤2000001\le n\le200000,0≤m≤4000000\le m\le400000,1≤u,v≤n1\le u,v\le n。

测试点 额外限制
1~2 n≤10,m≤15n\le10,m\le15
3~5 n≤1000,m≤2000n\le1000,m\le2000
6~8 将有向边视为无向边并去除重边后,图是一棵树
9~10 无