本文主要是介绍2004NOIP普及组真题 4. 火星人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
线上OJ:
【04NOIP普及组】火星人
核心思想:
本题的难点是阅读理解。通读后发现,题目的本质是全排列,加上的数字 m ,起始就是调用 m 次 next_permutation() 。
题解代码:
#include <bits/stdc++.h>
using namespace std;const int N = 10005;
int n, m, a[N];int main()
{scanf("%d %d", &n, &m);for(int i = 0; i < n; i++) scanf("%d", &a[i]); // 读入外星人的数据for(int i = 0; i < m; i++) next_permutation(a, a + n); // 对a执行m次 next_permutation()for(int i = 0; i < n; i++) printf("%d ", a[i]);return 0;
}
这篇关于2004NOIP普及组真题 4. 火星人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!