QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 2048 MB Total points: 100

#15787. Count DFS Graph

统计

你目前正在研究一种名为深度优先搜索(DFS)的图遍历算法。从一个空列表 $A$ 开始,以下伪代码将使用 DFS 算法的访问顺序填充列表 $A$。

DFS(v):
    append v to A
    for each u neighbour of v in ascending node number:
        if u is not in A:
            DFS(u)

在运行上述伪代码中的 DFS(1) 后,你现在拥有一个包含从 $1$ 到 $N$ 的整数排列的列表 $A$。你现在想知道有多少个具有 $N$ 个节点的简单无向图,其 DFS 访问顺序恰好是列表 $A$。请计算该数量,对 $998\,244\,353$ 取模。

简单图是指没有自环,且每对节点之间最多只有一条边相连的图。如果两个图在某一对节点之间存在一条边,而另一个图中不存在,则认为这两个图是不同的。

输入格式

第一行包含一个整数 $N$ ($2 \le N \le 300$)。第二行包含一个 $1$ 到 $N$ 的整数排列,表示列表 $A$。保证 $A$ 的第一个元素为 $1$。

输出格式

输出一个整数,表示 DFS 顺序为列表 $A$ 的不同简单图的数量,对 $998\,244\,353$ 取模。

样例

输入 1

4
1 3 4 2

输出 1

3

说明 1

下图展示了所有符合给定 DFS 顺序的图。

输入 2

10
1 2 3 4 5 6 7 8 9 10

输出 2

515546413

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.