#P1607. 最多的点
最多的点
题目描述
给你一个包含 个节点 条有向边的有向图。节点编号从 到 。
现在你需要从图中删掉尽可能少的点,同时删掉以这些点为端点的边。
使得剩下来的图满足如下条件:
对于图中任意两个节点 和 ,满足从节点 到节点 存在至少一条有向路径,或者从 到 存在至少一条有向路径。
即:从 沿着有向边移动能够到达 ,或者从 沿着有向边移动能够到达 (当然,既能从 到 ,又能从 到 也是可以的)。
求:最多能够保留多少个节点,同时,你还需要求存在多少个保留最多节点的方案(两个方案被视为不同的方案当且仅当它们保留的节点不完全相同)。
输入格式
第一行,两个整数 和 ,以一个空格分隔()。
接下来 行,每行包含两个整数 和 ,表示一条从 连向 的有向边。同样的 最多出现一次。
输出格式
输出共两行。
第一行,一个整数,表示满足题目要求的情况下最多保留多少个节点。
第二行,一个整数,表示保留最多节点的不同方案数,由于这个数字可能很大,所以你需要将其对 取模。
样例
6 5
1 5
2 5
3 5
4 5
5 6
3
4
6 6
1 2
2 1
1 3
2 4
5 6
6 4
3
3