练习场acm 题目19 擅长排列的小明
2016-07-30 10:43
302 查看
解法 :使用c++自带的全排列函数next_permutation+set去重;
#include <bits/stdc++.h> using namespace std; int main () { int T; cin>>T; while(T--) { int n,m,a[10]; set<int>pq; cin>>n>>m; for(int i=0;i<n;i++) a[i]=i+1; int s=0; for(int i=0;i<m;i++) s=s*10+a[i]; pq.insert(s); while(next_permutation(a,a+n)) { s=0; for(int i=0;i<m;i++) s=s*10+a[i]; pq.insert(s); } for(set<int>::iterator it=pq.begin();it!=pq.end();it++) cout<<*it<<"\n"; } return 0; }
相关文章推荐
- 练习场acm 题目8 一种排序
- nyoj 题目128 前缀式计算
- nyoj 题目35 表达式求值
- 练习场acm 题目1112 求次数
- 练习场acm 题目113 字符串替换
- 练习场acm 题目663 弟弟的作业
- 29:四则运算计算表达式的值
- select语句
- Python
- Premiere 无法导入mp3的解决办法:ImporterMP3.prm
- Tempter of the Bone
- 动态规划数字三角形问题
- 2016夏季练习——区间DP
- getOutString 输出弹出字符串
- POJ 3984 迷宫问题
- 有三个整数,获取最大值,通过三元运算符完成。
- Activity——生命周期
- 纷菲幻剑录 之 十年一剑
- poj 1094 topo 在线处理数据
- 表空间的管理