设计与算法:全排列

2023-12-18

描述

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。

输入

输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。

输出

输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:

已知S = s1s2...sk , T = t1t2...tk,则S < T 等价于,存在p (1 <= p <= k),使得
s1 = t1, s2 = t2, ..., sp - 1 = tp - 1, sp < tp成立。

样例输入


abc  

样例输出


abc
acb
bac
bca
cab
cba  

公式吧,不太好理解啊

#include<bits/stdc++.h>
using namespace std;
char str[10],tmp[10];
int point[10],N;//放标志位
void pailie(int k)//有点像n皇后问题
{

for(int i=0;i<N;i++)
{
if(point[i]==0)
{
tmp[k]=str[i];
point[i]=1;
pailie(k+1);
point[i]=0;
}
}
if(k==N)//填满一个tmp就输出
printf("%s\n",tmp);
}
int main()
{
scanf("%s",str);
N=strlen(str);
pailie(0);
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计与算法:全排列 的相关文章

  • 如何在C++中生成非常大的随机数

    我想使用 C 生成 0 2 64 范围内的非常大的随机数 我已经使用了 rand 函数 但它没有生成非常大的数字 有人可以帮忙吗 使用c 11 使用标准c 11的随机库 http en cppreference com w cpp nume
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • strtok() 使用安全吗[重复]

    这个问题在这里已经有答案了 我读到了很多负面的东西strtok 有人说它已经过时 有人说它不是线程安全的 等等 那么真相是什么 我可以使用吗strtok 它是线程安全的吗 Note 我正在使用 Visual C 您可以使用它 它是标准库的一
  • Boost MPI 在监听列表时不会释放资源?

    这是一个后续问题如何释放 boost mpi request https stackoverflow com questions 44078901 how do i free a boostmpirequest 我在监听列表而不是单个项目时
  • C# 中类似图的实现

    所以我有一个对象 我们称之为 Head 它有一个对象列表 C C1 C2 C3 T T1 T2 和 M M1 M2 并且所有这些都是相互关联的 例如 Head gt C1 C2 C3 T1 T2 M1 M2 T1 gt C1 C2 T2 g
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • 预编译头和 Visual Studio

    有没有办法设置 Visual Studio 解决方案参数 以便它只创建预编译头而不构建整个解决方案 具体来说 它是一个巨大的 C 解决方案 本身有许多项目 谢谢 仅选择 pch 创建者源文件 通常是 stdafx cpp 然后编译该文件 C
  • 如何从不同的线程访问控件?

    如何从创建控件的线程以外的线程访问控件 避免跨线程错误 这是我的示例代码 private void Form1 Load object sender EventArgs e Thread t new Thread foo t Start p
  • 无法将参数从 `const char *` 转换为 `char *`

    鉴于此代码 void group build int size std string ips Build the LL after receiving the member list from bootstrap head new memb
  • 选择initializer_list迭代器定义

    Why std initializer list
  • C# 中的抽象类和接口类有什么不同?

    C 中的抽象类和接口类有什么不同 An 接口不是类 它只是一个contract定义了public一个类的成员must实施 抽象类只是一个类 您从中可以cannot创建一个实例 通常您会使用它来定义一个基类 该基类定义了一些virtual方法
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 模板与非模板类,跨编译器的不同行为

    我在一些应用程序中使用编译时计数器 它确实很有用 昨天我想用 gcc 编译一个程序 我之前使用的是 msvc 并且计数器的行为在模板类中发生了变化 它在模板类中不再工作 过于简化的代码 Maximum value the counter c
  • 使用 cmake 将两种解决方案合二为一

    我有两个单独的 Visual Studio 2013 解决方案 我想将它们迁移到一个解决方案中 因为第一个解决方案 使用 Qt 充当第二个解决方案的 GUI 最后 我希望有一个结构如下的单一解决方案 Solution All Build P
  • 从具有相同属性的另一个对象创建对象

    我有一个 C 对象 可以说有 20 个属性 它是数据契约的一部分 我还有另一个具有类似属性的业务实体 我想从响应对象中填充该实体 除了将一个对象的每个属性分配给另一个对象的相应属性之外 还有其他方法可以做到这一点吗 是的 看看自动映射器 h
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 如果仅使用第一个元素,是否必须为整个结构分配内存?

    我有一个结构 其中第一个元素被测试 并且根据其值 结构的其余部分将被读取或不会被读取 在第一个元素的值指示结构的其余部分不会被读取的情况下 我是否必须为整个结构或仅第一个元素分配足够的内存 struct element int x int
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • C - 获取外部IP地址

    我需要通过 C C 调用获取我的公共 IP 地址 我知道作为替代方案 我可以从 http whatismyip akamai com 等外部链接获取 我写了一个示例来获取外部IP地址 但我的程序没有返回外部 IP 地址 我正在获取内部 IP
  • 如何在控制台程序中获取鼠标位置?

    如何在 Windows 控制台程序中用 C 获取鼠标单击位置 点击时返回鼠标位置的变量 我想用简单的文本命令绘制一个菜单 这样当有人点击时 游戏就会注册它并知道位置 我知道如何做我需要做的一切 除了单击时获取鼠标位置 您需要使用 Conso

随机推荐

  • BENTLY 146031-01 - 瞬态数据接口 I/O 模块

    BENTLY 146031 01 瞬态数据接口 I O 模块 BENTLY 146031 01 瞬态数据接口 I O 模块 产品详情 通常 这类模块用于采集和处理机械设备的振动 温度 压力等瞬态数据 并将这些数据传输到监控系统进行分析和诊断
  • HONEYWELL 05701-A-0302 单通道控制卡

    HONEYWELL 05701 A 0302 单通道控制卡 HONEYWELL 05701 A 0302 单通道控制卡产品详情 HONEYWELL 05701 A 030 单通道控制卡可能应用于工业自动化 过程控制 监控系统等领域 以下是一
  • Windows7系统powercfg.exe文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个powercf
  • Java代码世界的神奇技巧与魔法艺术

    目录 前言 1 Java的独特优势 1 1 跨平台性 1 2 面向对象 1 3 强大的生态系统 2 Java的应用场景 2 1 企业级应用开发 2 2 移动应用开发
  • 吴恩达机器学习笔记七 逻辑回归的梯度下降 过拟合及解决方法

    两个偏导数 逻辑回归的梯度下降 泛化 generalization 对全新的示例也能做出良好的预测 解决过拟合的方法 1 收集更多的测试数据 2 特征选择 feature selection 使用更少的特征 3 正则化 regulariza
  • 题解 | #火车进站#

    解约的同学看过来 提供一份解约思路 题解 火车进站 include
  • Linux性能优化常做的一些事情

    Linux性能优化是一个广泛的主题 涉及多个方面 以下是一些常见的Linux性能优化建议 硬件和系统配置 使用SSD替代HDD 确保系统有足够的RAM 使用多核CPU 配置合适的网络硬件和带宽 磁盘I O性能 使用RAID来提高I O性能
  • Win7系统提示找不到dmvscres.dll文件的解决办法

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个dmvscre
  • Win7系统提示找不到dmsynth.dll文件的解决办法

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个dmsynth
  • 目标检测深度学习的anchor

    在目标检测深度学习中 Anchor是一种预定义的框 用于在图像中采样不同位置 尺度和长宽比例的区域 作为目标检测模型的候选区域 Anchor是Faster R CNN等基于Anchor的目标检测算法的核心概念 具体来说 Anchor有以下几
  • 深度学习目标检测全连接层什么意思

    在深度学习目标检测中 通常我们使用卷积神经网络 Convolutional Neural Network CNN 进行特征提取 CNN 的主要结构包括卷积层和池化层 用于从输入图像中提取特征 然而 为了最终输出目标的类别和位置信息 通常在网
  • 题解 | #平均活跃天数和月活人数#

    金融科技岗分享 欢聚shopline 凉 又遇毁到offer 爱奇艺互动产品运营实习面经 百度大搜2024校招补录 搜索时效性团队工作职责 1 通过query理解 召回 排序全链路的优化 持续优化百度搜索时效排序效果2 持续探索落地最前沿的
  • WMS系统出库扫描:提升仓储管理效率与准确性

    WMS系统中的出库扫描功能是关键环节之一 它通过扫描物料或货物的条形码或二维码 实现实时 准确地记录和更新库存信息 一 WMS系统出库扫描的重要性 1 实现库存准确性 通过出库扫描 WMS系统能够准确记录物料或货物的出库信息 实时更新库存数
  • 持续集成交付CICD:Jenkins使用GitLab共享库实现前端项目镜像构建

    目录 一 实验 1 GitLab修改项目文件与Harbor环境确认 2 Jenkins使用GitLab共享库实现前端项目镜像构建 3 优化CI流水线封装Harbor账户密码 4 Jenkins再次使用GitLab共享库实现前端项目镜像构建
  • 精通Nginx(25)-Nginx Plus增强功能之缓存清除、复杂媒体流支持、安全防护

    Nginx Plus在缓存清除 复杂媒体流支持 安全防护也做了增强 缓存清除 NGINX Plus 可手工指定清除缓存项 配置示例如下 http 请求是PURGE缓存清除方法 map request method purge method
  • 题解 | #浙江大学用户题目回答情况#

    快手测开二面面经 国企面经 多家 得物 测开 一面 中国联通陕西省分公司薪资待遇 京东健康前端实习一面凉经 求java推荐项目 面经回馈 秋招及实习历程中笔经 面经 时间梳理 国企银行 秒杀项目常见问题 终焉篇 双非本产品经理35w 终于来
  • 24届还有在看工作机会的吗,求求大家看下小米吧,HC非常多

    一定要反问HR的六个问题 offer比较 华为 vs OPPO 离谱的一周 百度裁应届 拼多多 非必要就别去了吧 阿里云25k gt 美团29k 实习转正啦 进来看耍猴 12 17更新 25届实习招聘信息汇总走起 策论 设计产出 Learn
  • Win7系统提示找不到dmutil.dll文件的解决办法

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个dmutil
  • 永新光学:用纷享销客打造高效管理平台,实现产销一体快速运转

    一方面 随着科技的进步和应用领域的扩大 光学仪器的需求不断增加 从医疗 教育 工业 军事 各个领域对光学仪器的需求都在不断增长 另一方面 数字化技术的应用也在光学仪器行业得到广泛推广 从设计制造到销售服务 数字化管理提供了更高效 精细化的方
  • 设计与算法:全排列

    描述 给定一个由不同的小写字母组成的字符串 输出这个字符串的所有全排列 我们假设对于小写字母有 a lt b lt lt y lt z 而且给定的字符串中的字母已经按照从小到大的顺序排列 输入 输入只有一行 是一个由不同的小写字母组成的字符