找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合
来源:互联网 发布:虚拟仿真软件哪种好 编辑:程序博客网 时间:2024/06/05 22:53
http://acm.nyist.net/JudgeOnline/problem.php?pid=32
#include<stdio.h>
#include<string.h>
int visit[20],a[20],n,r,b[20];
void dfs(int num)
{
int i;
if(num==r)
{
for(i=0;i<r;i++)
printf("%d",b[i]);
putchar(10);
return;
}
for(i=1;i<=n;i++)
{
if(!visit[i])
{
visit[i]=1;
b[num]=a[i];
if(b[num-1]>b[num])
dfs(num+1);
visit[i]=0;
}
}
}
int main()
{
int i;
scanf("%d%d",&n,&r);
for(i=1;i<=n;i++)
a[i]=n-i+1;
memset(visit,0,sizeof(visit));
for(i=1;i<=n;i++)
{
visit[i]=1;
b[0]=a[i];
dfs(1);
visit[i]=0;
}
return 0;
}
0 0
- 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合
- 递归 找出自然数1,2,3....n 中任取r个数的所有组合。
- 从n个自然数中任取r个数的所有组合(递归算法)
- 从n个自然数中任取r个数的所有组合(递归算法)
- 从自然数1~N里任取R个数的可能组合
- 两种解法:找出n个自然数(1,2,3,……,n)中取r个数的组合。
- n中任取r个数的所有组合
- n个自然数中取r个数的组合
- 排列组合 从n个自然数中取出r个数的组合
- 用回溯法找出 n 个自然数中取 r 个数的全排列
- 在1到N个自然数中任取M个数的所有组合
- 计算从1到N的自然数中取M个数的所有组合的lua函数
- 给定一个数组,n个数,打印所有可能的r位数的组合。例如{1,2,3,4}n=4,r=2.输出{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}
- 【Algothrim】求从n个数中取r个数的组合
- n个数的所有组合...
- 输出从n个数中选m个数的所有组合
- 从n个数中选取m个数的所有组合
- 从n个数中取出r个,打印出组合情况(递归版)
- socket案例
- 移动硬盘属性0字节RAW,双击提示磁盘未格式化怎么恢复?
- Java之美[从菜鸟到高手演练]之深入了解Struts2返回JSON数据的原理及具体应用范例
- JS学习笔记下
- poj 2353——Stars
- 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合
- iOS Programming – 触摸事件处理(2)
- Shiro 自己实现登录后重新生成sessionid
- EasyUI中,datagrid加载数据后只显示行号,不显示列标题的问题解决方法
- 创建oracle表空间与用户
- JAVA开源报表技术:JasperReports和iReport 入门
- java进制之间的转换
- C中值传递与地址传递
- 自定义View学习之12/1