题目描述
n个别墅以及一个主建筑楼,从每个别墅都有很多种不同方式走到主建筑楼,其中不同的定义是(每条边可以走多次,如果走边的顺序有一条不同即称两方式不同)。
询问最多的不同方式是多少,以及有多少个别墅有这么多方式,按照顺序输出别墅编号。
如果最多不同方式超过了36500那么都视作zawsze
输入输出格式
输入格式:
第1行,两个正整数,n和m(n<=100000,m<=1000000)
第2至m+1行,两个正整数u和v,代表存在一条u通向v的道路
输出格式:
第1行,一个正整数,代表最多的不同到达主建筑楼方式。
第2行,一个正整数,代表有多少个别墅有这么多方式。
第3行,k个正整数,代表拥有最多达到主建筑楼方式的城市编号。
输入输出样例:
样例输入:
3 5
1 2
1 3
2 3
3 4
3 4
样例输出:
4
1
1
分析
我是有多蠢才会想到用SPFAdp
正解是先用Tarjian缩点重新建图
再用拓扑dp
碰到由终点到达环直接赋为最大值
CODE
|
|