cf B. Levko and Permutation

http://codeforces.com/contest/361/problem/B

 1 #include <cstdio>

 2 #include <cstring>

 3 #include <algorithm>

 4 using namespace std;

 5 

 6 int n,k;

 7 

 8 int main()

 9 {

10     while(scanf("%d%d",&n,&k)!=EOF)

11     {

12         if(n==k)

13         {

14             printf("-1\n");

15             continue;

16         }

17         int m=n-k;

18         if(m==1)

19         {

20             for(int i=1; i<=n; i++)

21             {

22                 if(i==1) printf("%d",1);

23                 else printf(" %d",i);

24             }

25         }

26         else if(m==2)

27         {

28             for(int i=1; i<=n ;i++)

29             {

30                 if(i==1) printf("%d",n);

31                 else if(i==n) printf(" %d\n",1);

32                 else printf(" %d",i);

33             }

34         }

35         else

36         {

37             int m1=m-2;

38             printf("%d",n-m1);

39             int cnt=1;

40             int j;

41             for(j=2; j<=n-1-m1; j++)

42             {

43                 printf(" %d",j);

44             }

45             for(int i=j; i<=n; i++)

46             {

47                 if(i==n) printf(" 1\n");

48                 else printf(" %d",i+1);

49             }

50         }

51     }

52     return 0;

53 }
View Code

 

你可能感兴趣的:(IO)