#CSES1690. 哈密顿路径

哈密顿路径

题目背景

翻译自 CSES-1690 题。

题目描述

nn 个城市和 mm 个航班连接它们。你需要从 Syrjälä(城市 11)出发,前往 Lehmälä(城市 nn),并且恰好访问每个城市一次。请问有多少种可能的路线?

输入格式

第一行包含两个整数 nnmm:分别表示城市的数量和航班的数量。城市编号为 1,2,,n1,2,\ldots,n

接下来有 mm 行,每行描述一个航班。每行包含两个整数 aabb:表示从城市 aa 到城市 bb 存在一个单向航班。

输出格式

输出一个整数:表示从 Syrjälä 到 Lehmälä,访问每个城市恰好一次的可能路线数,结果取模 109+710^9+7

样例

4 6
1 2
1 3
2 3
3 2
2 4
3 4
2

数据范围

  • 2n202 \le n \le 20
  • 1mn21 \le m \le n^2
  • 1a,bn1 \le a, b \le n