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 ...
最新文章
- 【Android】3.19 示例19--全景图HelloWorld
- ES权威指南[官方文档学习笔记]-14 phrase search
- symantec 5220牛刀小试系列(二)
- php未定义要怎样做,php-Behat-未定义的功能步骤
- 酷毙了!三种风格的全屏幻灯片效果【附源码下载】
- 学习《css世界》笔记之loading三点动画效果
- mysql常驻内存_MySQL的内存和相关问题排查
- 【毕业设计】jSP在线教学质量评价系统的设计与实现(源代码+论文)
- 无所不能java人_无所不能的java
- UVa140 - Bandwidth
- linux刷windows phone,老机焕新生!Lumia 950XL也能跑Win10
- 《软件工程》真题考点
- 经纬度坐标转换为大地2000怎么转换_XOMAP-爬虫[4]-零代码实现将quot;地址quot;转换为“经纬度”坐标及“结构化地址”...
- 《缠中说禅108课》30:缠中说禅理论的绝对性
- H5页面的功能和表现形式有哪些
- iphone 自动响应旋转屏幕
- 机器学习算法(二):决策树理论与python实现+经典应用(预测隐形眼镜类型)
- 计算机毕业论文致谢,精选毕业论文致谢语6篇
- PHP+MySQL实现用户登录注册API接口
- 俄罗斯黑客挑战美国国家网络安全
热门文章
- iOS 之 UICollectionView
- App Store 申请审核加速
- kickstart中ks.cfg指定目标机ip的小备忘
- 数据库like匹配的实现猜测
- linux nmon
- 自己动手安装ARM交叉编译工具链
- 当下常用的webpack版本_细说 webpack系列 1. 为什么要选择 webpack
- 语言准备客票问题_菲律宾出国留学需要准备什么?
- mysql中begin end中变量定义_DECLARE只能用于BEGIN…END的开头部分定义局部变量,其作用范围只能在该BEGIN…END中。_学小易找答案...
- burpsuite 设置https_新手教程:如何使用Burpsuite抓取手机APP的HTTPS数据