---排列数字---
排列数字(回溯的应用)
题目链接,点击直达
题解:
1.用path数组来保存排列
2.bool st[]数组来标识当前数字是否被用过
3.dfs继续递归下一层
4,恢复现场,第 i 个位置填写某个数字的所有情况都遍历后, 第 i 个位置填写下一个数字
5.结束条件走到第n种方案
代码如下:
#include<iostream>
using namespace std;
const int N = 10;
int n;
bool st[N];//判断该数字是否用过
int path[N];//路径保存void dfs(int u)
{if(n == u) { //n == u 说明已经枚举完了,可以输出该法案for(int i = 0;i < n;i++)printf("%d ",path[i]);printf("\n");return;}for(int i = 1;i <= n;i++){ //空位上可以选的数字为1-nif(!st[i]) //如果该数字没有被用过{path[u] = i; //记录该数字st[i] = true; //记录该数字已经被用过dfs(u+1); //继续往下一层搜st[i] = false; //恢复状态}}
}int main()
{cin>>n;dfs(0);return 0;
}
---排列数字---相关推荐
- dfs入门排列数字问题(一看就懂的讲解)
dfs入门排列数字问题 dfs入门排列数字问题 一.问题概述 二.问题分析 三.代码分析 (一).如何表示填写完成 (二).如何判断该填哪个数 (三).如何表示填空 (四).实现dfs 四.代码全览 ...
- DFS和BFS概念及实践+acwing 842 排列数字(dfs) +acwing 844. 走迷宫(bfs)
DFS (深搜), 也有说就是递归的 执着: 一直搜到底,然后回溯下一个节点 数据结构 : stack (这里的栈,实际上是编译器内部的栈, 所以说也可以看成递归, 递归内部也是调用编译器内部栈) 空 ...
- 重新排列数字使其刚好比当前值大 Next Greater Element III
为什么80%的码农都做不了架构师?>>> 问题: Given a positive 32-bit integer n, you need to find the smalles ...
- 数字排大小C语言怎么编写,C语言排列数字大小
优质回答 回答者:Paksun 排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换.#include //使用冒泡算法升序数组src voidsort(int*src,intlen) { in ...
- 18.排列数字(c++)简单的dfs详解
给定一个整数 n,将数字 1∼n排成一排,将会有很多种排列方法. 现在,请你按照字典序将所有的排列方法输出. 输入格式 共一行,包含一个整数 n. 输出格式 按字典序输出所有排列方案,每个方案占一行. ...
- php从大到小排列数字,php输入几个数从大到小排序
php输入几个数从大到小排序 以下程序实现了在网页输入几个数,按照从大到小排序并输出的功能,希望对需要的朋友有帮助: Document 请输入要排序的数据 - - - - if(isset($_POS ...
- (5)DFS(深度优先搜索算法):排列数字
题解: 附代码: #include<iostream> using namespace std;const int N=10;int n; int path[N];//将每个节点的数据用数 ...
- HDOJ 1755 - A Number Puzzle 排列数字凑同余,状态压缩DP
dp [ x ] [ y ] [ z ] 表示二进制y所表示的组合对应的之和mod x余数为z的最小数... 如可用的数字为 1 2 3 4...那么 dp [ 7 ] [ 15 ] [ 2 ] = ...
- python中对数字降序和升序_该程序查找在Python中按升序或降序排列数字的最低成本...
假设我们有一个称为nums的数字列表,我们必须找到最小成本以任何顺序(升序或降序)对列表进行排序.此处的成本是任何元素的旧值和新值之间的差总和. 因此,如果输入类似于[2,5,4],则输出将为2. 为 ...
最新文章
- 会数据分析的人别再低调了,我怕你会因此错失100万奖金
- swoole不是php,Swoole
- VTK:可视化之Blow
- 一键拼出你的微信好友图片墙!
- android 渠道号_亲测:安卓打渠道包神器,1分钟出自动出100个渠道包
- twitter storm源码走读(五)
- Authentication for the REST APIs
- 【金融】【论文研读】 CAPITAL ASSET PRICES: A THEORY OF MARKET EQUILIBRIUM UNDER CONDITIONS OF...
- TCP/IP协议 TCP包深入理解
- 编程基本功:即使是脚本,也尽量减少硬代码,都使用变量
- 笔记本计算机bios设置,小技巧:关于笔记本BIOS设置的三招
- Mybatis多参数查询与列表查询不同方式实现
- 31个惊艳的数据可视化作品,感受“数据之美”!
- 容易的面试问题变得更加困难:给定数字1..100,在正好缺少k的情况下,找到缺失的数字
- sudo报错:no valid sudoers sources found, quitting
- 景观设计主题命名_景观设计主题
- zabbix 5.0中自定义监控单个IP的最大流量
- OGRE的学习资源简单总结
- MySql存储过程调试
- 自定义控件学习之钟表制作
热门文章
- echarts字变大_EChart 文字大小调整 饼状图为例
- Unity Shader Graph实现模型任意方向剖切(学习笔记/五毛钱特效)
- 【深度学习】(ICCV-2021)PVT-金字塔 Vision Transformer及PVT_V2
- 推荐系统_各种方法的损失计算过程
- 【畅购商城】微信支付模块之微信支付二维码
- python字典函数大全_python字典介绍
- alv 导出料号缺少最后一位
- 阿里云服务器(centos)安装MySQL
- 深度学习处理遥感影像入门教程
- windows7 和linux双系统,win7与linux双系统_win7 linux双系统