排队
类型:程序题

题目描述

小杨所在班级共有 $n$ 位同学,依次以 $1,2,\ldots,n$ 标号。这 $n$ 位同学想排成一个队伍,其中有些同学之间关系非常好,在队伍里需要排在相邻的位置。具体来说,有 $m$ 对这样的关系($m$ 是一个非负整数)。当 $m \ge 1$ 时,第 $i$ 对关系($1 \le i \le 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 \le n \le 8$,$0 \le m \le 10$。

对于另外 20% 的测试数据点,保证 $1 \le n \le 10^3$,$0 \le m \le 1$。

对于所有测试数据点,保证 $1 \le n \le 2 \times 10^5$,$0 \le m \le 2 \times 10^5$。

代码编辑器 加载中...
测试用例输入
{{resultStatus.text}}
乐编题库AI助手
人工客服
微信扫码联系客服
历史对话
{{ s.title || '未命名对话' }}
{{ s.created_at }}
暂无历史对话
我能帮助你什么?