[ZJOI2007]最大半连通子图
一个有向图 称为半连通的(Semi-Connected),如果满足:,有 或 ,即对于图中任意两点 ,存在一条从 到 的有向路径或者从 到 的有向路径。
若 满足 ,且 是 中所有跟 有关的边,则称 是 的一个导出子图。
若 是 的导出子图,且 半连通,则称 为 的半连通子图。若 是 所有半连通子图中包含节点数最多的,则称 是 的最大半连通子图。
给定一个有向图 ,请求出 的最大半连通子图拥有的节点数 ,以及不同的最大半连通子图的数目 。由于 可能比较大,仅要求输出 对 的余数。
输入格式
第一行包含三个整数 ,其中 分别表示图 的点数与边数, 的意义如上文所述。
接下来 行,每行两个正整数 ,表示一条有向边 。图中的每个点编号为 ,保证输入中同一个 不会出现两次。
输出格式
应包含两行。
第一行包含一个整数 ;第二行包含整数 。
样例输入
6 6 20070603
1 2
2 1
1 3
2 4
5 6
6 4
样例输出
3
3
数据范围
- ,;
- 对于 的数据,。
来源与许可
本题为 ZJOI 2007 试题「最大半连通子图」,题面与测试数据整理自 BZOJ 1093。
样例 1
输入
6 6 20070603
1 2
2 1
1 3
2 4
5 6
6 4
输出
3
3