#P15658. [ICPC 2025 Jakarta R] Count DFS Graph
[ICPC 2025 Jakarta R] Count DFS Graph
说明
你正在研究一种名为 深度优先搜索(DFS)的图遍历算法。从一个空列表 开始,下面的伪代码将用 DFS 算法的访问顺序填充列表 。
DFS(v):
append v to A
for each u neighbour of v in ascending node number:
if u is not in A:
DFS(u)
运行上述伪代码中的 后,你现在得到了一个包含 到 整数排列的列表 。你现在想知道,有多少个不同的、具有 个节点的简单无向图,能够产生你手中的列表 。请计算这个数量,并对 取模。
当图中没有自环,且每对节点之间最多只有一条边时,该图是简单的。如果在一个图中存在连接某对节点的边,而在另一个图中不存在,则认为这两个图是不同的。
输入格式
第一行包含一个整数 ()。
第二行包含前 个正整数的排列,代表列表 。
保证 的第一个元素是 。
输出格式
输出一个整数,表示能够产生列表 的不同图的数量,对 取模。
4
1 3 4 2
3
10
1 2 3 4 5 6 7 8 9 10
515546413
提示
样例 1 解释: 下图展示了所有能产生给定 DFS 顺序的图。
:::align{center}
:::
翻译由 DeepSeek V3.2 完成
京公网安备 11011102002149号