当前位置: 首页 > news >正文

全排列-深度优先搜索

全排列
http://noi.openjudge.cn/ch0202/1750/
全排列(Permutation)是指从一组元素中按照一定的顺序排列出所有可能的组合方式。在计算机科学中,全排列是一种常见的问题,通常可以通过递归或回溯的方法来解决。

以下是一个简单的 Python 代码示例,用于计算一个列表的全排列

#include<bits/stdc++.h>
using namespace std;bool b[10001];//字符是否被用过
//s 输入的字符数组 ans本来输出的字符数组 
char s[10001],ans[10001];
int len;//字符输入长度 
//填第depth个数 
void dfs(int depth){//递归到长度+1个字符处理输出 比实际多一个 if(depth==len+1){for(int i=1;i<len+1;i++){printf("%c",ans[i]);}printf("\n");return;}//每个位置用数组中的字符填一遍 for(int i=0;i<len;i++){if(b[s[i]]==false){//本轮此字符是否被用过 b[s[i]]=true;//标记此字符已经使用 ans[depth]=s[i];//记录此字符到本来数组中 dfs(depth+1);//递归下一个位置 b[s[i]]=false;//回溯释放此字符(标记此字符可以使用) }}
}int main(){scanf("%s",s);len=strlen(s);dfs(1);//从第一个数开始填 
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java Web —— 第七天(Mybatis案例 部门管理)
  • 领域驱动模型设计与微服务架构落地(二)
  • LeetCode面试题Day17|LC20 有效的括号、LC150 逆波兰表达式
  • 绘剪批量软件——绘剪批量软件
  • 【MySQL】HEAP 表(MEMORY 表)
  • 8.23CF训练题解
  • 007、架构_配置文件_GTM(gtm.ini)
  • 深度理解指针(3)
  • 51单片机控制可控硅调温程序
  • webpack--webpack的启用
  • static关键字
  • pyannote源码阅读(一)
  • 英国政府停止使用人工智能
  • Linux 命令重定向介绍
  • electron 两个渲染进程之间通信
  • angular组件开发
  • axios 和 cookie 的那些事
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • iOS 系统授权开发
  • markdown编辑器简评
  • QQ浏览器x5内核的兼容性问题
  • Spark RDD学习: aggregate函数
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从地狱到天堂,Node 回调向 async/await 转变
  • - 概述 - 《设计模式(极简c++版)》
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 悄悄地说一个bug
  • 入门级的git使用指北
  • 一道面试题引发的“血案”
  • 中文输入法与React文本输入框的问题与解决方案
  • Semaphore
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (void) (_x == _y)的作用
  • (六)软件测试分工
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (篇九)MySQL常用内置函数
  • (转)EOS中账户、钱包和密钥的关系
  • (转)ORM
  • .NET C# 操作Neo4j图数据库
  • .net core Swagger 过滤部分Api
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 直连SAP HANA数据库
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • /etc/sudoer文件配置简析
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @GlobalLock注解作用与原理解析
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [001-03-007].第07节:Redis中的管道