UOJ Logo

NOI.AC

1S 512MB
统计

题目描述

你需要构造一个长度为$n$的排列,使得$p_i\oplus i=p_i+i(0\leq i\lt n)$。这里$\oplus$是异或运算。

一个长度为$n$的排列$p_0,p_1,p_2,\dots,p_{n-1}$满足$0,1,2,\dots, n-1$这些数都在其中恰好出现$1$次。

输入格式

输入一行一个整数$n$。

输出格式

输出一行$n$个整数,代表排列$p_0,p_1,\dots,p_{n-1}$,用空格分隔整数。

请保证你输出的是一个合法的排列,否则你无法获得分数。

如果有多个解,任意一个合法的解都被认为是正确的。

输入样例1

3

输出样例1

0 2 1

输入样例2

4

输出样例2

3 2 1 0

数据范围

对于$30\%$的数据,$n\leq 10$

对于$50\%$的数据,$n\leq 20$

对于$70\%$的数据,$n\leq 1000$

对于所有数据,$1\leq n\leq 10^6$

点此下载