(Codeforces Round #136 (Div. 2))A. Little Elephant and Function(递归分析,简单)

A. Little Elephant and Function
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

The Little Elephant enjoys recursive functions.

This time he enjoys the sorting function. Let a is a permutation of an integers from 1 to n, inclusive, and ai denotes the i-th element of the permutation. The Little Elephant's recursive function f(x), that sorts the first x permutation's elements, works as follows:

  • If x = 1, exit the function.
  • Otherwise, call f(x - 1), and then make swap(ax - 1, ax) (swap the x-th and (x - 1)-th elements of a).

The Little Elephant's teacher believes that this function does not work correctly. But that-be do not get an F, the Little Elephant wants to show the performance of its function. Help him, find a permutation of numbers from 1 to n, such that after performing the Little Elephant's function (that is call f(n)), the permutation will be sorted in ascending order.

Input

A single line contains integer n (1 ≤ n ≤ 1000) — the size of permutation.

Output

In a single line print n distinct integers from 1 to n — the required permutation. Numbers in a line should be separated by spaces.

It is guaranteed that the answer exists.

Sample test(s)
Input
1
Output
1 
Input
2
Output
2 1 


模拟一下即可。假设满足题意的数列为a1, a2, a3, a4,...,an,由an到a1依次执行递归函数后,得到的数列为: a2, a3, ...,an,a1.也就是说只是把原数列的头元素掉到最后面。递归函数要得到一个递增序列,就是1,2,3,...,n,那么原数列就自然是n,1,2,...,n-1,这样把头元素调到最后面就是所要求的序列。

AC CODE

#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#define LL long long
#define MAXI 2147483647
#define MAXL 9223372036854775807
#define eps (1e-8)
#define dg(i) cout << "*" << i << endl;
using namespace std;

int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        printf("%d ", n);
        for(int i = 1; i < n - 1; i++)
            printf("%d ", i);
        if(n != 1) printf("%d\n", n - 1);
    }
    return 0;
}


你可能感兴趣的:((Codeforces Round #136 (Div. 2))A. Little Elephant and Function(递归分析,简单))