nyoj组合数
算法:深搜
描述 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。
输入输入n、r。输出按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3
样例输出543
542
541
532
531
521
432
431
421
321
代码:
#include<iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int a[13],b[13],step;
void dfs(int i,int cur,int deep)
{
for(int j=i;j>0;j--)
{
if(!a[j])
{ if(b[cur-1]>j)//控制每位是递减地
{
b[cur]=j;
a[j]=1;
if(cur==deep)
{
for(int k=1;k<=deep;k++)
cout<<b[k];
cout<<endl;
}
dfs(i-1,cur+1,deep);
a[j]=0;
} } }
}
int main()
{
int n,m;
b[0]=12;
while(cin>>n>>m)
{
memset(a,0,sizeof(a));
dfs(n,1,m);
}
return 0;
}
nyoj组合数的更多相关文章
- nyoj 32 组合数
		组合数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r< ... 
- nyoj 32 组合数【简单dfs】
		组合数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合 ... 
- NYOJ-32 组合数  AC                                                    分类:            NYOJ             2013-12-30 07:42    189人阅读    评论(0)    收藏
		#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf(&q ... 
- NYOJ-32 组合数  AC                                                    分类:            NYOJ             2014-01-02 22:21    112人阅读    评论(0)    收藏
		#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf(&q ... 
- NYOJ 53 最少步数
		题 目 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=58 思路借鉴 DFS-Deep First Search-深度优先 ... 
- NYOJ 1007
		在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ... 
- NYOJ 998
		这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ... 
- LCM性质 + 组合数 - HDU 5407 CRB and Candies
		CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ... 
- NYOJ 743
		复杂度 描述 for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) for(k=j+1;k<=n;k++) operation; 你知道 operation 共 ... 
随机推荐
- nginx_笔记分享_php-fpm详解
			参考 http://syre.blogbus.com/logs/20092011.htmlhttp://www.mike.org.cn/articles/what-is-cgi-fastcgi-php ... 
- php设计模式 1单例模式
			之前很长时间之前就学习过设计模式,但是因为在实践中很少应用,所以忽略了,但现在却意识到设计模式很重要的,程序设计简介高效冗余性代码少. 今天开始把前几天学习的几个设计模式整理一下,首先当然是单例模式. ... 
- Python自动化运维之6、函数装饰器
			装饰器: 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大.装饰器一般接受一个函数对象作为参数, ... 
- Android 之Service
			service是运行在后台的服务,你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作. 接下来分析一下service 的生命周期: 1: ... 
- poj 3232 Accelerator
			http://poj.org/problem?id=3232 题意:有一个含有n辆车的车队,当前距离终点的距离已知,有m个加速器,每个加速器在一个时刻只能给一辆车用,一旦使用就会使得其速度由1变成k, ... 
- 在同一上机器上建立两个SVN服务
			最快的三步: 1,SVNADMIN CREATE NAME 2, 改写CONF目录下的相关三个文件. 3,重写一个SVN的启动脚本,指定这个SVN不同的目录及端口号. [general] ### Th ... 
- Mediator pattern(c++ 实现)
			概述: 假设我们开发一个图片处理软件,里面肯定包括很多相关功能,比如说剪切,旋转,滤镜,美化等等,而我们这些功能所要处理的对象是固定的,就是我们所显示的那张图片.但是我们不能把所有的功能罗列到一个ta ... 
- 总结:man, info, hwclock, cal, type, which, dirname, basename, who, which, whatis, makewhatis, hash, tty
			man, info, help, date, hwclock, cal, shutdown, reboot, halt, poweroff, type, cd, which, dirname, bas ... 
- City Tour
			Description Alice想要从城市A出发到城市B,由于Alice最近比较穷(不像集训队陈兴老师是个rich second),所以只能选择做火车从A到B.不过Alice很讨厌坐火车,火车上人比 ... 
- 移动web app开发框架
			文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mo ... 
