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

全排列 dfs

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。

我们假设对于小写字母有 a<b<…<y<z
,而且给定的字符串中的字母已经按照从小到大的顺序排列。

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

输出格式
输出这个字符串的所有排列方式,每行一个排列。

要求字母序比较小的排列在前面。

输入样例:
abc
输出样例:
abc
acb
bac
bca
cab
cba

#include<iostream>
#include<algorithm>using namespace std;
const int N = 10;
string str;
string ans;
bool s[N];void dfs(string a,int n)
{if(n == a.size()) {cout << ans << endl ;return;}for(int i = 0 ; i < a.size() ; i++){if(! s[i]){s[i] = true;ans += a[i];dfs(a,n+1);s[i] = false;ans.pop_back();}}}int main()
{cin >> str;dfs(str,0);return 0;
}
http://www.lryc.cn/news/503630.html

相关文章:

  • linux内存相关命令的尝试
  • Vue2 基础
  • 递归问题(c++)
  • 系统思考—战略决策
  • wxwidgets xml插入图片的两种方案
  • 大模型呼入机器人如何赋能呼叫中心?(转)
  • linux下socket本地套接字通讯
  • NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用
  • WebView2教程(基于C++)【一】环境初始化
  • go语言中context的用法
  • 概括网络给社会生活带来的种种影响
  • OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用
  • Jmeter如何对UDP协议进行测试?
  • Unix 传奇 | 谁写了 Linux | Unix birthmark
  • 【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解
  • RTMP推流平台EasyDSS在无人机推流直播安防监控中的创新应用
  • ORACLE逗号分隔的字符串字段,关联表查询
  • 1.5 多媒体系统简介
  • 数据分析学习Day1-使用matplotlib生成2小时每分钟的气温可视化分析图
  • ansible部署nginx:1个简单的playbook脚本
  • 三、汇总统计
  • opencv实现给图像加上logo图像
  • 亚马逊云科技2024 re:Invent大会亮点:Nova大模型与AI基础设施全面升级
  • 总结与提升
  • 入门pytorch-Transformer
  • 泛型编程--
  • 【大语言模型】LangChain 核心模块介绍(Agents)
  • 19C-RAC 环境mgmtca.trc.1过大
  • 基于Spring Boot的同城宠物照看系统的设计与实现
  • 爬虫学习案例5