蓝桥杯_手链样式(排列)
2017-03-31 12:10
204 查看
题目:
手链样式小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
思路:
全排列,对每种情况转动,翻转检测;代码:
#include <cstdio> #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; vector<string> uni; int main() { string s("aaabbbbccccc"); int tot = 1, flag = 0; uni.push_back(s); while(next_permutation(s.begin(), s.end())) { flag = 0; // 转动 string s2 = s + s; vector<string>::iterator it = uni.begin(); for(; it != uni.end(); it++) { if(s2.find(*it) != string::npos) { flag = 1; break; } } // 翻转 if(!flag) { reverse(s2.begin(), s2.end()); for(it = uni.begin(); it != uni.end(); it++) { if(s2.find(*it) != string::npos) { flag = 1; break; } } } if(!flag) { tot++; uni.push_back(s); } } cout << tot; return 0; }
相关文章推荐
- 蓝桥杯 手链样式 枚举
- 2015年蓝桥杯C/C++A组第七题 手链样式
- 第六届蓝桥杯A组C/C++ 第七题 手链样式
- 2015第6届蓝桥杯A组第7题 手链样式 题解
- 蓝桥杯 手链样式 (枚举)
- 15年第六届蓝桥杯第七题_手链样式_(stl_string)
- 2015 第六届 蓝桥杯省赛 手链样式
- 手链样式 --蓝桥杯
- 第六届 蓝桥杯 第七题 手链样式 枚举 暴力 解题报告
- 第六届蓝桥杯A组C/C++ 第七题 手链样式
- 第六届蓝桥杯-手链样式
- 蓝桥杯 手链样式(暴力)
- 2015-年蓝桥杯C-(A组)赛题-dfs-手链样式
- 蓝桥杯模拟赛--康托展开式--全排列(不重复数据)
- 蓝桥杯练习题 字符串全排列 题解
- 蓝桥杯 ADV-103算法提高 逆序排列
- 蓝桥杯——说好的进阶之去反复元素的排列组合
- 蓝桥杯常用算法知识点:【递归】m个A与n个B的全排列个数
- 蓝桥杯- 算法提高 逆序排列
- 逆序排列 --- 蓝桥杯