转载请注明出处: ——by fraud
Cyclic antimonotonic permutations
Time Limit: 20000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Problem Description
A permutation is a sequence of integers which contains each integer from 1 to n exactly once. In this problem we are looking for permutations with special properties: 1. Antimonotonic: for each consecutive 3 values p i-1, p i, p i+1 (1 < i < n), p i should either be the smallest or the biggest of the three values. 2. Cyclic: The permutation should consist of only one cycle, that is, when we use p i as a pointer from i to p i, it should be possible to start at position 1 and follow the pointers and reach all n positions before returning to position 1.
Input
The input file contains several test cases. Each test case consists of a line containing an integer n, (3 ≤ n ≤ 10 6), the number of integers in the permutation. Input is terminated by n=0.
Output
For each test case print a permutation of the integers 1 to n which is both antimonotonic and cyclic. In case there are multiple solutions, you may print any one. Separate all integers by whitespace characters.
Sample Input
3 5 10 0
Sample Output
3 1 2 4 5 2 3 1 6 10 2 9 3 5 4 7 1 8
Source
分奇数和偶数,随便搞一下
hdu由于没有special judge,无法AC
1 //##################### 2 //Author:fraud 3 //Blog: http://www.cnblogs.com/fraud/ 4 //##################### 5 #include6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include
15 #include 16 #include 17 #include 18 #include