DFS(6)——hdu1342Lotto
一、题目回顾
题目链接:Lotto
7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34 0
1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 71 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 21 1 3 5 8 13 34 1 3 5 8 21 34 1 3 5 13 21 34 1 3 8 13 21 34 1 5 8 13 21 34 2 3 5 8 13 21 2 3 5 8 13 34 2 3 5 8 21 34 2 3 5 13 21 34 2 3 8 13 21 34 2 5 8 13 21 34 3 5 8 13 21 34
题意:以升序的形式给定k个数,输出从中挑选6个数满足升序的所有情况。
二、解题思路
- 两个参数,第一个保存当前搜索的位置,第二个保存已挑选的个数。
三、代码
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 using namespace std; 6 const int maxn = 1e4+10; 7 #define INF 0x3f3f3f3f 8 int a[50]; //子集S 9 int b[10]; //存放6个数 10 int k; 11 bool vis[50]; 12 13 void dfs(int pos,int num) 14 { 15 if(num==6){ 16 for(int i=0;i<5;i++) printf("%d ",b[i]); 17 printf("%d\n",b[5]); 18 return; 19 } 20 for(int i=pos;i<k;i++){ 21 if(!vis[i]){ 22 vis[i] = 1; 23 b[num] = a[i]; 24 dfs(i+1,num+1); 25 vis[i] = 0; //方便下一次序列继续使用 26 } 27 } 28 29 } 30 int main() 31 { 32 int kase = 0; 33 while(cin>>k && !(k==0)){ 34 if(kase++) printf("\n"); //打印空行 35 for(int i=0;i<k;i++){ //从0开始 36 scanf("%d",&a[i]); 37 } 38 memset(vis,0,sizeof(vis)); 39 dfs(0,0); 40 } 41 return 0; 42 }
转载于:https://www.cnblogs.com/xzxl/p/7306290.html
DFS(6)——hdu1342Lotto相关推荐
- DFS(二):骑士游历问题
在国际象棋的棋盘(8行×8列)上放置一个马,按照"马走日字"的规则,马要遍历棋盘,即到达棋盘上的每一格,并且每格只到达一次.例如,下图给出了骑士从坐标(1,5)出发,游历棋盘的一种 ...
- 水洼数dfs(java)
问题描述: 有一个大小为 N×M 的园子,雨后积起了水.八连通的积水被认为是连接在一起的.请求出 园子里总共有多少水洼? *限制条件N, M ≤ 100 样例:输入 N=10, M=12园子如下图 ( ...
- C++算法——DFS(图解)
前言 这篇原本是两个搜索算法,但是发现BFS那个单独看的人多,所以这篇改为单独的DFS,建议先看完BFS 简介 深度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一.其别名又叫DFS,其过程 ...
- 【hdu1175】连连看——dfs(剪枝)
题目: 连连看 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 图的遍历——DFS(邻接矩阵)
递归 + 标记 一个连通图只要DFS一次,即可打印所有的点. #include <iostream> #include <cstdio> #include <cstdli ...
- 水管工游戏:dfs(递归)
添柴网这题好想不能评测,所以不确保代码的正确性 题目描述: 这小节有点难,看不太懂可以跳过哦. 最近小哼又迷上一个叫做水管工的游戏.游戏的大致规则是这样的.一块矩形土地被分为N * M的单位正方形,现 ...
- 骑士游历数组任意起点c语言,DFS(二):骑士游历问题
在国际象棋的棋盘(8行×8列)上放置一个马,按照"马走日字"的规则,马要遍历棋盘,即到达棋盘上的每一格,并且每格只到达一次.例如,下图给出了骑士从坐标(1,5)出发,游历棋盘的一种 ...
- 二叉树的深搜(DFS)与广搜(BFS)
转载自: https://blog.csdn.net/u011613367/article/details/50950408 数据结构中的有两个比较重要的算法.深度优先搜索和广度优先搜索. 二叉树中的 ...
- leetcode 310. Minimum Height Trees | 310. 最小高度树(图的邻接矩阵DFS / 拓扑排序)
题目 https://leetcode.com/problems/minimum-height-trees/ 题解 方法1:图的邻接矩阵 DFS(超时) 我一想,这不就是个图嘛,于是随手敲出一个 DF ...
最新文章
- 为什么 SSH 的默认端口是 22 ?
- HTTP GET URL的最大长度
- 【转】typedef函数指针的用法(C++)
- ESP32彩屏应用开源了https://github.com/wireless-tag-cn/lv_port_esp32
- 单例模式之懒汉式/饿汉式/结合二者之优的模式
- 线程池三种队列使用,SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue
- 新项目上传到码云托管
- 05-netty小例子
- python入门简单小程序
- Codeforces Beta Round #7 C. Line 扩展欧几里德
- 贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
- java实现删除本地文件夹
- Java精品项目第33期前台展示+后台管理结合的在线购书系统
- ps怎么对比原图快捷键_PS图片调色常用快捷键,专为新手整理
- 30分钟看懂经济机器是如何运行的?
- outland服务器注册,Warmane TBC服(Outland)5月20日正式开服 规则介绍与问答
- MetroMusic音乐播放器开发心得
- 不填写内容用哪个斜杠代替_反斜杠
- Linux 绑定IP
- 网站颜色是怎么变成灰色的了
热门文章
- 模仿android谷歌地图功能开发记录
- Android 导入项目时出现错误的解决方法(红色感叹号)
- [转载]实现Application Tile 更新
- Linux日志选项详解及日志服务器的实现
- ASP.NET 初级开发成员面试题部分面试题
- sar分辨率公式_初识合成孔径雷达SAR
- 实施和开发哪个前景好_web前端与java后台开发哪个前景、待遇好?
- echart 多柱图只显示部分数据标签_2分钟上手、3小时学会无代码软件开发---Echarts数据可视化...
- Python网络爬虫笔记:下载、分析京东P20销售数据
- php正则替换%3cbr%3e_php利用正则替换过滤掉js(script)代码