题库 NOIP CSP J/S信奥赛 题目列表 #include <cstdio> using namespace&...
填空题
#include <cstdio>
using namespace std;
const int N = 110;
bool isUse[N];
int n, t;
int a[N], b[N];
bool isSmall() {
	for (int i = 1; i <= n; ++i)
		if (a[i] != b[i]) return a[i] < b[i];
	return false;
}
bool getPermutation(int pos) {
	if (pos > n) {
		return isSmall();
	}
	for (int i = 1; i <= n; ++i) {
		if (!isUse[i]) {
			b[pos] = i; isUse[i] = true;
			if (getPermutation(pos + 1)) {
				return true;
			}
			isUse[i] = false;
		}
	}
	return false;
}
void getNext() {
	for (int i = 1; i <= n; ++i) {
		isUse[i] = false;
	}
	getPermutation(1);
	for (int i = 1; i <= n; ++i) {
		a[i] = b[i];
	}
}
int main() {
	scanf("%d%d", &n, &t);
	for (int i = 1; i <= n; ++i) {
		scanf("%d", &a[i]);
	}
	for (int i = 1; i <= t; ++i) {
		getNext();
	}
	for (int i = 1; i <= n; ++i) {
		printf("%d", a[i]);
		if (i == n) putchar('\n'); else putchar(' ');
	}
	return 0;
}

输入 1:6 10 1 6 4 5 3 2

输出 1:_________(3 分)

输入 2:6 200 1 5 3 4 2 6

输出 2:_________(5 分)

题目信息
提高组 初赛 2018 阅读程序
-
正确率
0
评论
141
点击
QQ
公众号
客服
扫一扫