"dp的本质是跑一遍DAG(有向无环图)。"--jackchan
jackchan是一名大学生,他学习成绩很好,所以他有足够多的时间去旅游。jackchan想要去旅行的城市有n个,由于jackchan不想回头路,所以城市间由m条有向边连接(保证不出现环)。jackchan的旅行计划的起点不能由其他城市到达(即起点入度为0),终点不能再到达其他城市(即终点出度为0),且旅行计划至少旅行两个城市)。他想要知道一共有多少种不同的旅行计划。(不同:旅行计划的经过的城市数量不同或者出现了不同的城市)
"dp的本质是跑一遍DAG(有向无环图)。"--jackchan
jackchan是一名大学生,他学习成绩很好,所以他有足够多的时间去旅游。jackchan想要去旅行的城市有n个,由于jackchan不想回头路,所以城市间由m条有向边连接(保证不出现环)。jackchan的旅行计划的起点不能由其他城市到达(即起点入度为0),终点不能再到达其他城市(即终点出度为0),且旅行计划至少旅行两个城市)。他想要知道一共有多少种不同的旅行计划。(不同:旅行计划的经过的城市数量不同或者出现了不同的城市)
第一行两个整数,n,m分别表示城市数量和有向边的数量
接下来m行,每行两个整数u,v,表明u到v有一条有向边
一个整数,表示jackchan的不同旅行计划数
输入
input1: 5 4 2 1 3 1 4 1 5 1 input2: 10 16 1 2 1 4 1 10 2 3 2 5 4 3 4 5 4 8 6 5 7 6 7 9 8 5 9 8 10 6 10 7 10 9
输出
output1: 4 output2: 9
1<=n<=100000,0<=m<=200000