nyoj 32 组合数(dfs)
来源:互联网 发布:tv365网络电视手机版 编辑:程序博客网 时间:2024/06/05 14:38
描述
找出从自然数1、2、… 、n(0< n< 10)中任取r(0< r<=n)个数的所有组合。
输入
输入n、r。
输出
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。
样例输入
5 3
样例输出
543
542
541
532
531
521
432
431
421
321
简单dfs,主要是思维!
#include<iostream>#include<cstring>using namespace std;int n,m,vis[15];void dfs(int x,int k) //x表示当前最小的数,k表示当前阶段数字的个数 { if(k==m) //如果当前阶段数字的个数等于m了,便打印结果 { for(int i=n;i>=1;i--) if(vis[i]) //结果用vis[]数组保存,从大到小输出 cout<<i; cout<<endl; return ; } for(int i=n;i>=1;i--) { if(vis[i]||i>x) continue; vis[i]=1; dfs(i,k+1); vis[i]=0; }}int main(){ while(cin>>n>>m) { memset(vis,0,sizeof(vis)); for(int i=n;i>=m;i--) //从n到m { vis[i]=1; dfs(i,1); vis[i]=0; } } return 0;}
阅读全文
0 0
- nyoj 32-组合数(DFS)
- NYOJ 题目32组合数(dfs)
- nyoj 32 组合数(DFS)
- NYOJ 32 组合数(枚举,dfs)
- nyoj-32 组合数(DFS)
- NYOJ 32 组合数(DFS)
- nyoj 组合数 32 (dfs)
- NYOJ 32 组合数(dfs)
- [nyoj-32]-组合数(DFS)
- nyoj 32 组合数(dfs)
- NYOJ-32 组合数【DFS】
- NYOJ 32 组合数 dfs
- NYOJ 组合数 32(DFS)
- NYOJ 32--组合数【DFS】
- NYOJ 32 组合数【DFS】
- NYOJ 32 组合数(DFS)
- NYOJ 题目32 组合数(非图DFS)
- NYOJ 32 组合数 (深搜DFS)
- IOS打包arm64工程与quicksdk适配
- 如何编写一个shell脚本
- 互联网公司的监控运维
- 如何修改远程桌面3389端口
- 【研究笔记】--1--NuPIC与HTM
- nyoj 32 组合数(dfs)
- java多线程:synchronized和lock比较浅析
- java无源码怎么办
- Storm配置项详解
- MDK调试watch、memory窗口不能显示问题
- 使用zookeeper管理多个hbase集群
- 【Linux基础】常用基本命令(上)
- 八皇后问题
- 蜗牛爬墙