(DS1.5.9)POJ 1833 排列(生成当前排列的下一排列)
2013-10-24 11:26
253 查看
/* * POJ_1833.cpp * * Created on: 2013年10月24日 * Author: Administrator */ #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int a[1100]; int main() { int t; scanf("%d", &t); while (t--) { int n, k; scanf("%d%d", &n, &k); int i, j; for (i = 0; i < n; ++i) { scanf("%d", &a[i]); } for (i = 0; i < k; ++i) { /** * 如果这个已经是最后一个排列,则变成第一个排列 * next_permutation(a, a + n) :生成当前排列的下一个排列. * 如果返回0,则代表已经是最后一个排列.否则表示生成下一个排列成功 */ if (next_permutation(a, a + n) == 0) { for (j = 0; j < n; ++j) { a[j] = j + 1; } } } for (i = 0; i < n - 1; ++i) { printf("%d ", a[i]); } printf("%d\n", a[n - 1]); } return 0; }
相关文章推荐
- POJ 1833 生成排列
- poj 1146 ID Codes (字符串处理 生成排列组合 生成当前串的下一个字典序排列 【*模板】 )
- POJ 1833 生成排列
- poj 1833 排列 [ 使用STL的next_permutation函数生成全排列 + STL中copy函数的用法完美解决 ]
- POJ 1833:排列 [#使用STL的next_permutation函数生成全排列#]
- POJ 1833 生成排列
- poj 1833 排列
- POJ 1833 排列 next_permutation函数的运用,简单模拟题
- POJ 1833 排列
- POJ 1833 排列 简单
- poj 1833 排列 STL 全排列公式
- Poj-1731 Orders(生成可重集的排列)
- POJ 1833 排列
- Poj 1833 排列
- poj 1833 排列
- 排列 POJ - 1833
- POJ 1833 排列(后k个排列)
- poj 1833 排列
- poj 1833 排列
- POJ 1833 排列