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

KY43 全排列

全排列板子
ti

#include<bits/stdc++.h>using namespace std;string s;
map<string, int>mp;void swap(char &a, char &b){char em = a;a = b;b = em;
}void dfs(int n){  //将s[n~l]的全排列转化成s[n]s[n+1~l]的全排列 if(n == s.length()){mp[s] = 1;return ;}for(int i = n; i < s.length(); i ++ ){swap(s[n], s[i]);  //for和这个swap一起保证第n位所有字母都有可能 dfs(n + 1);  //进到这一步,第n位的字母都定了, swap(s[n], s[i]);}
}int main()
{cin>>s;dfs(0);for(auto i = mp.begin(); i != mp.end(); i ++ ){cout<<i->first<<endl;}return 0;
}

第二种解法
next_permutation,自带的全排列库函数,但是他只会按照输入的s的顺序排列,所以要先sort一下

#include<bits/stdc++.h>using namespace std;string s;int main()
{cin>>s;sort(s.begin(), s.end());cout<<s<<endl;for(s.begin(); next_permutation(s.begin(), s.end());){cout<<s<<endl;}return 0;
}
http://www.lryc.cn/news/279375.html

相关文章:

  • UltraScale 和 UltraScale+ 生成已加密文件和已经过身份验证的文件
  • 2023年全国职业院校技能大赛软件测试赛题—单元测试卷②
  • 极兔单号查快递,极兔快递单号查询,筛选出途经指定城市的单号
  • [redis] redis高可用之持久化
  • 云原生 微服务 restapi devops相关的一些概念说明(持续更新中)
  • 初学unity学习七天,经验收获总结
  • hcip实验2
  • js:使用canvas画一个半圆
  • 1.框架介绍项目环境配置与项目启动!
  • LeetCode算法题解:螺旋矩阵
  • 【Java 设计模式】设计原则之开放封闭原则
  • 数据分析求职-知识脑图
  • SQL-修改数据
  • Rockchip | FIQ-Debugger调试工具
  • 第二百六十三回 给geolocator插件提交问题
  • 分组背包问题
  • WinForm 中Label自动换行 解决方法
  • 【蓝桥杯软件赛 零基础备赛20周】第7周——二叉树
  • SpringBoot+SSM项目实战 苍穹外卖(12) Apache POI
  • Maven 基础总结篇
  • MySQL的导入导出及备份
  • 【机器学习】常见算法详解第2篇:K近邻算法各种距离度量(已分享,附代码)
  • @KafkaListener指定kafka集群
  • 什么是算法的空间复杂度?
  • WebDav协议相关软件@简单配置局域网内的http和WebDav服务器和传输系统
  • 自定义数据实现SA3D
  • 设计模式基础概念:探索设计模式的魅力
  • 【Leetcode】2182. 构造限制重复的字符串
  • Kubernetes(K8S)云服务器实操TKE
  • 设置弹窗随鼠标位置移动