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

Creating Strings

题目描述

Given a string, your task is to generate all different strings that can be created using its characters.

输入

The only input line has a string of length n(1 ≤ n ≤ 8). Each character is between a–z.

输出

First print an integer k: the number of strings. Then print k lines: the strings in alphabetical order.

样例输入
aabac
样例输出
20
aaabc
aaacb
aabac
aabca
aacab
aacba
abaac
abaca
abcaa
acaab
acaba
acbaa
baaac
baaca
bacaa
bcaaa
caaab
caaba
cabaa
cbaaa
代码 
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int len;
string str;
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>str;len=str.size();int d[26]={0};ll total=1;for(int i=1;i<=len;i++){total*=i;}for(int i=0;i<len;i++){d[str[i]-'a']++;}int ans[len],t=0;for(int i=0;i<26;i++){while(d[i]){total/=d[i];ans[t]=(int)(i+'a');t++;d[i]--;}}cout<<total<<"\n";for(int i=0;i<len;i++){cout<<(char)ans[i];}cout<<"\n";while(next_permutation(ans,ans+len)){for(int i=0;i<len;i++){cout<<(char)ans[i];}cout<<"\n";}return 0;
}

http://www.xdnf.cn/news/1191349.html

相关文章:

  • [特殊字符] 嵌入式队列精要指南:数据流的艺术与实战
  • Java学习|黑马笔记|Day23】网络编程、反射、动态代理
  • 【动态规划-斐波那契数列模型】理解动态规划:斐波那契数列的递推模型
  • MongoDB数据库高并发商业实践优化·运行优化之不可使用root账户进行MongoDB运行-优雅草卓伊凡
  • 大型微服务项目:听书——12 数据一致性自定义starter封装缓存操作
  • MongoDB数据模型
  • 深度学习(鱼书)day03--神经网络(后两节)
  • 7月26日星期六今日早报简报微语报早读
  • Oracle 误删数据恢复
  • 服务器被网络攻击后该如何进行处理?
  • golang实现一个定时引擎,功能包括按照corntab的时间任务实时增加、修改、删除定时任务
  • C++11 -- emplace、包装器
  • C++ 类型萃取:深入理解与实践
  • MySQL 8.0 OCP 1Z0-908 题目解析(36)
  • pip, github 突然连不上?报错和解决方法如下
  • MyBatis-Plus 通用 Service
  • 基于MySQL实现基础图数据库
  • C++连接MySQL完整教程
  • 智慧水库边缘计算技术路线与框架设计
  • C++五子棋
  • javaSE 6
  • AI使能的SVD算子:基于深度学习的矩阵分解方法
  • connect系统调用及示例
  • 数字化转型 - 企业数字化建设的几点思考
  • sqli-labs通关笔记-第21关 字符型Header-Cookie SQL注入(单引号括号闭合 base64编码绕过 手工注入+脚本注入两种方法)
  • Oracle 11g RAC数据库实例重启的两种方式
  • Linux权限机制:RUID/EUID/SUID与进程安全
  • 服务器之光:Nginx--核心配置详解及演练
  • 【AI论文】MiroMind-M1:通过情境感知多阶段策略优化实现数学推理的开源新进展
  • Golang语言基础—函数调用