CF325E.The Red Button
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Piegirl found the red button. You have one last chance to change the inevitable end.
The circuit under the button consists of n nodes, numbered from 0 to n - 1. In order to deactivate the button, the n nodes must be disarmed in a particular order. Node 0 must be disarmed first. After disarming node i, the next node to be disarmed must be either node (2·i) modulo n or node (2·i) + 1 modulo n. The last node to be disarmed must be node 0. Node 0 must be disarmed twice, but all other nodes must be disarmed exactly once.
Your task is to find any such order and print it. If there is no such order, print -1.
Piegirl 找到了红色按钮。你还有最后一次机会改变这不可避免的结局。
按钮下方的电路包含 n 个节点,编号从 0 到 n−1。为了使按钮失效,这 n 个节点必须按照特定顺序依次解除武装。节点 0 必须第一个被解除武装。在解除节点 i 的武装后,下一个被解除武装的节点必须是节点 (2⋅i)modn 或节点 (2⋅i)+1modn。最后一个被解除武装的节点必须是节点 0。节点 0 必须被解除武装两次,而其余所有节点都必须恰好被解除武装一次。
你的任务是找出任意一个满足条件的顺序并输出它。如果不存在这样的顺序,则输出 −1。
输入格式
Input consists of a single integer n (2 ≤ n ≤ 105).
输入包含一个整数 $ n ( 2 \leq n \leq 10^5 $)。
输出格式
Print an order in which you can to disarm all nodes. If it is impossible, print -1 instead. If there are multiple orders, print any one of them.
输出一个可以解除所有节点警戒的顺序。如果无法实现,则输出 -1。如果存在多种顺序,输出任意一种即可。
输入输出样例
输入#1
2
输出#1
0 1 0
输入#2
3
输出#2
-1
输入#3
4
输出#3
0 1 3 2 0
输入#4
16
输出#4
0 1 2 4 9 3 6 13 10 5 11 7 15 14 12 8 0
输入解题思路,AI测评打分。不知道怎么写?