编程题
### 问题描述 今天是欧涛的生日,汪欧涛作为欧涛最好的朋友,打算给欧涛举办一个特殊的生日聚会。 每个参加生日聚会(包括欧涛)的人都会穿上自己喜欢的服装。每个服装都有一个编号,他们可以知道自己的编号。 汪欧涛把服装分为 $k(k≥3)$ 类,并使用特殊的技术将每个服装的编号标在了服装上,穿上第 $i$ 类服装的人才能看到穿第 $i+1$ 类服装的人的编号,穿第 $k$ 类服装的人能看到穿第 $1$ 类服装的人的编号。 参加生日聚会的人并不知道有多少类服装,但是欧涛对此却特别好奇,他想自己算出有多少类服装,于是他开始在人群中收集信息。 欧涛收集的信息都是穿第几号服装的人看到了第几号服装的编号。如穿第 $22$ 号服装的人看到了第 $55$ 号服装的编号。欧涛自己也会看到一些编号,他也会根据自己的服装编号把信息补充进去。 由于并不是每个人都能记住自己所看到的全部编号,因此,欧涛收集的信息不能保证其完整性。现在请你计算,按照欧涛目前得到的信息,至多和至少有多少类服装。由于主办方已经声明了 $k≥3$,所以你必须将这条信息也考虑进去。 ### 输入格式 第一行包含两个整数 $n, m$ 用一个空格分隔,$n$ 表示主办方总共准备了多少个服装,$m$ 表示欧涛收集了多少条信息。 接下来 $m$ 行,每行为两个用空格分开的整数 $a,b$,表示穿第 $a$ 号服装的人看到了第 $b$ 号服装的编号。相同的数对 $a,b$ 在输入文件中可能出现多次。 ### 输出格式 包含两个数,第一个数为最大可能的服装类数,第二个数为最小可能的服装类数。 如果无法将所有的服装分为至少 $3$ 类,使得这些信息都满足,则认为欧涛收集的信息有错误,输出两个 $-1$。 ### 输入样例1 ```txt 6 5 1 2 2 3 3 4 4 1 3 5 ``` ### 输出样例1 ```txt 4 4 ``` ### 输入样例2 ```txt 3 3 1 2 2 1 2 3 ``` ### 输出样例2 ```txt -1 -1 ``` ### 评测数据规模 对于 $100\\%$ 的评测数据,满足 $3\le n≤10^5,1\le m≤10^6,3\le a,b\le n$。
查看答案
赣ICP备20007335号-2