QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100

#12229. 哈拉里

Statistics

Frank 非常喜欢计算具有特定性质的图,以至于他甚至计划有一天为此写一本书。他喜欢在这一领域发明复杂的新问题,然而,编写这些问题的解法并不是他最喜欢的部分。

目前,Frank 正在为一场考试准备同一个任务的多个版本。他希望学生们能够求出一个给定的 $N$ 个节点的有向图的有效拓扑排序的数量。

有向图的拓扑排序是其顶点的一个排列,使得对于每一条从顶点 $u_i$ 到顶点 $v_i$ 的弧,$u_i$ 在排列中都出现在 $v_i$ 之前。如果两个排序中存在某个顶点所处的位置不同,则认为这两个排序是不同的;换句话说,如果它们作为排列不同,则它们是不同的。

Frank 认为,如果答案为 1,则该任务是简单的;如果答案为 2,则是中等的;如果答案为 3,则是困难的。对于更大的答案,他认为该任务几乎无法解决。他对待学生也不一视同仁,因为有些学生上过所有的课,而有些学生则是第一次在考试中见到他。然而,他不想让学生察觉到他的这点“小报复”,所以每个人的任务版本中 $N$ 的值都是相同的。

现在 Frank 请你计算,对于固定的 $N$,他可以为每个难度等级准备多少个任务版本。由于这些数字可能非常大,Frank 希望得到它们对 $10^9 + 7$ 取模后的结果。注意,弧的数量可以是任意的,但不允许存在自环和重边。

输入格式

输入包含一个整数 $N$,表示顶点的数量 ($1 \le N \le 100$)。

输出格式

输出三个整数:具有 $N$ 个顶点且恰好有 1 个、2 个和 3 个拓扑排序的有向图的数量。请将答案对 $10^9 + 7$ 取模。

样例

样例输入 1

3

样例输出 1

12
6
6

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.