2-4 数的排列
2016-05-12 19:44
211 查看
题目描述:输出从N个不同的正整数(限定次数)中取出M个数的排列。
p.s.:将不规律的数映射到规律的下标中。
#include <cstdio> void R(int k); int J[50];//记录数组。 int T[50]; int H[50];//标记数组,判断该数次数是否用尽。 int N, M; int main() { scanf("%d%d", &N, &M); for(int a=1; a<=N; a++) { scanf("%d%d", &J[a], &H[a]); } R(0); return 0; } void R(int k) { if(k == M) { for(int a=0; a<M; a++) { printf("%-3d", J[T[a]]); } printf("\n"); } else { for(int a=1; a<=N; a++) { if(H[a] != 0) { T[k] = a; H[a]--; R(k+1); H[a]++; } } } return; }
p.s.:将不规律的数映射到规律的下标中。
相关文章推荐
- 原创:搜索算法之两个数组取交集的算法
- Mac OS X开发者准备工作
- [HDOJ4022]Bombing(离散化+stl)
- CentOS卸载OpenJDK
- 18大经典数据挖掘算法小结
- 基于Hadoop的数据仓库Hive 学习指南
- 25个Java机器学习工具&库
- C++ auto_ptr智能指针的用法
- 求自定类型元素的最大值
- HDOJ 1045 Fire Net同 ZOJ 1002
- 可变形部件模型DPM和HOG特征for行人检测Discriminatively trained deformable part models
- 实验三 进程调度模拟程序
- Sqlite数据库
- hibernate事务介绍
- 操作系统c实现银行家算法
- 在活动中不显示标题 --3
- eclipse/intellij idea 远程调试hadoop 2.6.0
- uva208
- [线段树合并]
- kafka环境