第24104题 程序题
统计满足相邻前置约束的排队方案数

题目描述

小杨所在班级共有 n 位同学,依次以 1,2,...,n 标号。这 n 位同学想排成一行队伍,其中有些同学之间关系非常好,在队伍里需要排在相邻的位置。具体来说,有 m 对这样的关系( m 是一个非负整数)。当 m≥1 时,第 i 对关系 (1≤i≤m) 给出 a_i, b_i,表示排队时编号为 a_i 的同学需要排在编号为 b_i 的同学前面,并且两人在队伍中相邻。 现在小杨想知道总共有多少种排队方式。由于答案可能很大,你只需要求出答案对 10^9+7 取模的结果。

输入格式

第一行,两个整数 n,m,分别表示同学们的数量与关系数量。 接下来 m 行,每行两个整数 a_i, b_i,表示一对关系。

输出格式

一行,一个整数,表示答案对 10^9+7 取模的结果。

输入样例 1

4 2
1 3
2 4

输出样例 1

2

输入样例 2

3 0

输出样例 2

6

输入样例 3

3 2
1 2
2 1

输出样例 3

0

数据范围

对于 20% 的测试数据点,保证 1≤ n ≤8 , 0≤ m ≤10 。 对于另外 20% 的测试数据点,保证 1≤ n ≤10^3, 0 ≤m≤1 。 对于所有测试数据点,保证 1≤n≤2×10^5, 0 ≤ m ≤ 2×10^5。

编辑模式
程序运行统计
暂无判题统计