博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给定输入的字符串,计算根据字符串不同组合能生成的不同组合的个数
阅读量:5273 次
发布时间:2019-06-14

本文共 960 字,大约阅读时间需要 3 分钟。

1 #include 
2 #include
3 typedef unsigned long long ullong; 4 using std::string; 5 6 ullong factorial(ullong i) { 7 if (i > 1) { 8 return i * factorial(i - 1); 9 }10 if (i == 1) {11 return 1;12 }13 if (i == 0) {14 return 0;15 }16 }17 18 ullong count(const string &s) {19 using std::map;20 map
repeat_nums;21 for (ullong i = 0; i < s.length(); i++) {22 repeat_nums[s[i]]++;23 }24 ullong result = factorial(s.length());25 for (auto it = repeat_nums.begin(); it != repeat_nums.end(); it++) {26 if (it->second > 1) {27 result /= factorial(it->second);28 }29 }30 return result;31 }32 33 int main() {34 std::cout << count("ABA") << std::endl;35 std::cout << count("ABCDEFGHHA") << std::endl;36 std::cout << count("AABBCC") << std::endl;37 }

 

转载于:https://www.cnblogs.com/ren-yu/p/11147146.html

你可能感兴趣的文章
adidas crazylight 2018 performance analysis review
查看>>
typeset shell 用法
查看>>
python 之 循环语句
查看>>
心得25--JDK新特性9-泛型1-加深介绍
查看>>
[转]ceph网络通信模块_以monitor模块为例
查看>>
HDOJ 1754 I Hate It(线段树基本操作)
查看>>
latex tree
查看>>
安装NVIDIA驱动时禁用自带nouveau驱动
查看>>
HDU-1255 覆盖的面积 (扫描线)
查看>>
css3学习01
查看>>
【USACO】 奶牛会展
查看>>
继承和多态
查看>>
Dijkstra+计算几何 POJ 2502 Subway
查看>>
修复IE不能执行JS的方法
查看>>
程序员究竟该如何提高效率zt
查看>>
希尔排序法(缩小增量法)
查看>>
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>