QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 256 MB Points totaux : 100

#2330. 哈密顿农场

Statistiques

去年,你们的队伍没能帮到 Codefalser Suzukaze AK 题目集。因此,Suzukaze 决定退役,并像 pittoresque 一样成为了一名农民,因为他想拥有一座农场。Suzukaze 非常喜欢橙子,所以他决定春天只在农场里种橙子树。下周冬天就要来了!Suzukaze 计划在农场里走一圈来收获他最爱的水果。然而,作为一个健忘的农民,Suzukaze 忘记了他农场的布局。幸运的是,作为一个细心的程序员,Suzukaze 在电脑里以函数的形式存储了农场的布局,以防陷入这种绝望的境地。

农场可以建模为一个包含 $n$ 个顶点的图,其中顶点代表橙子树,图中的边可以由函数 $f$ 推导得出:

$$f(i, j) = \begin{cases} 0 & i = j \\ ((i^p)^{j^q} \pmod{10^9 + 7}) \pmod 2 & i < j \\ 1 - f(j, i) & i > j \end{cases}$$

其中 $i$ 和 $j$ 是顶点的编号 ($1 \le i, j \le n$),$p$ 和 $q$ 是小于 $10^9 + 7$ 的非负整数。如果 $f(i, j) = 1$,则存在一条从 $i$ 到 $j$ 的有向边。

作为一个懒惰的农民,Suzukaze 想要找到一条能够恰好访问每棵橙子树一次的路径。你能帮他找到这条路径,以补偿你去年犯下的错误吗?

输入格式

第一行包含三个整数 $n, p$ 和 $q$ ($1 \le n \le 10^5, 0 \le p, q < 10^9 + 7, p$ 和 $q$ 不能同时为 $0$),分别代表橙子树的数量和函数的参数。你可以假设橙子树的编号为 $1, \dots, n$。

输出格式

如果路径存在,按照样例所示,输出从起点到终点的路径上的顶点。任何满足 Suzukaze 要求的路径都将被接受。否则,输出 -1,这意味着你再次辜负了 Suzukaze 的请求。

样例

样例输入 1

6 1 1

样例输出 1

1
3
5
6
4
2

说明

路径 $1 \to 3 \to 5 \to 6 \to 4 \to 2$ 满足样例中 Suzukaze 的要求。

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.