码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces A. Slightly Decreasing Permutations 题解

时间:2014-07-22 23:00:15      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   width   io   

Permutation p is an ordered set of integers p1,??p2,??...,??pn, consisting of n distinct positive integers, each of them doesn‘t exceed n. We‘ll denote the i-th element of permutation p as pi. We‘ll call number n the size or the length of permutation p1,??p2,??...,??pn.

The decreasing coefficient of permutation p1,?p2,?...,?pn is the number of such i (1?≤?i?<?n), that pi?>?pi?+?1.

You have numbers n and k. Your task is to print the permutation of length n with decreasing coefficient k.

Input

The single line contains two space-separated integers: n,?k (1?≤?n?≤?105,?0?≤?k?<?n) — the permutation length and the decreasing coefficient.

Output

In a single line print n space-separated integers: p1,?p2,?...,?pn — the permutation of length n with decreasing coefficient k.

If there are several permutations that meet this condition, print any of them. It is guaranteed that the permutation with the sought parameters exists.

Sample test(s)
input
5 2
output
1 5 2 4 3

这种题目难就难在下标处理。当然题目本身不难。


void SlightlyDecreasingPermutations()
{
	int n, k;
	cin>>n>>k;
	int *A = new int[n];
	
	for (int i = 0; i < n - k - 1; i++)
	{
		A[i] = i + 1;
	}
	for (int i = n - k - 1, j = n; i < n; i++, j--)
	{
		A[i] = j;
	}
	for (int i = 0; i < n; i++)
	{
		cout<<A[i]<<‘ ‘;
	}
	delete [] A;
}

void SlightlyDecreasingPermutations_2()
{
	int n, k;
	cin>>n>>k;
	int *A = new int[n];

	for(int i = 0; i < n; ++i) A[i] = i+1;
	reverse(A,A+k+1);

	for(int i = 0; i < n; ++i) cout<<A[i]<<‘ ‘;
}



codeforces A. Slightly Decreasing Permutations 题解,码迷,mamicode.com

codeforces A. Slightly Decreasing Permutations 题解

标签:style   blog   color   os   width   io   

原文地址:http://blog.csdn.net/kenden23/article/details/24841169

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!