pku1833.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 57 行

CPP
57
字号
#include <stdio.h>

int  arr[1025];

void res(int start, int end)
{
	int i = start, j = end;
	int temp;
	for (; i<j; i++, j--)
	{
		temp   = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;	
	} 	
}

int main()
{
	int m, n, k, i, j, temp;
	scanf("%d", &m);
	
	while (m--)
	{
		scanf("%d%d", &n, &k);
		for (i=0; i<n; i++)
		{
			scanf("%d", &arr[i]);	
		}
		while (k--)
		{
			for (i=n-2; i >= 0; i--)
			{
				if (arr[i] < arr[i+1]) break;	
			}
			
			if (i==-1)
			{
				res(0, n-1);
				continue;	
			}
			
			for (j = n-1; arr[j] < arr[i]; j--);
			temp = arr[i];
			arr[i] = arr[j];
			arr[j] = temp;
			res(i+1, n-1);	
		}
		for (i=0; i<n; i++)
		{
			printf("%d ", arr[i]);	
		}
		printf("\n");	
	} 
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?