[蓝桥杯2015初赛]手链样式-思维+next_permutation枚举(好题)
题目描述
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共有多少不同的组合样式?
输出
请你输出该整数。不要输出任何多余的内容或说明性的文字。
解题思路:
因为这题的手链可以随意转动或翻转,假如我们的手链是1234,则转动的意思是,2341,3412,也属于一种情况,我们可以利用复制,解决转动的问题,比如我们将手链变成12341234,这样我们2341,3412都属于12341234的子串,所以只要找得到它的子串,则说明是一种情况,旋转则属于下面这种情况:
这属于一种情况,那么旋转要怎么解决呢?我们利用reverse函数就可以解决旋转的问题,比如12341234,旋转以后,为:43214321,我们把旋转后的情况也存进vector数组里面就行了,枚举情况可以用next_permutation函数。
知识点:
do—while语句中有continue关键字时,程序会跳到do—while语句的 }while() 处 ,然后判断while 是否满足条件,然后程序进行下一布的运行。
代码如下:
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
vector<string>v;
int ans;
vector<string>::iterator it;int main() {string str = "aaabbbbccccc";do {for (it = v.begin(); it != v.end(); it++) {if ((*it).find(str) != -1)//找不到会返回-1break;}if (it != v.end())continue;string str2 = str + str;v.push_back(str2);reverse(str2.begin(), str2.end());v.push_back(str2);ans++;} while (next_permutation(str.begin(), str.end()));cout << ans << endl;return 0;
}
[蓝桥杯2015初赛]手链样式-思维+next_permutation枚举(好题)相关推荐
- [蓝桥杯2017初赛]九宫幻方-数论+next_permutation枚举
题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分. 三阶幻方指的是将1~9不重复的填入一个33的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...
- [蓝桥杯2015初赛]垒骰子
[蓝桥杯2015初赛]垒骰子 [蓝桥杯2015初赛]垒骰子 题目大意: 给你n个骰子,给你m组不能贴在一起的面,问你把这n个骰子垒成高度为n的柱体,一共有多少种方案? 题目分析: 首先,不能贴近的面是 ...
- 蓝桥杯2015初赛生命之树 DFS图解
大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 蓝桥杯2015初赛生命之树
- [蓝桥杯2016初赛]方格填数-next_permutation
代码如下: #include <iostream> #include <algorithm> using namespace std;int main() {int a[10] ...
- 2015蓝桥杯C++A:手链样式(圆排列和环排列)
七.题目:手链样式 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙. 他想用它们串成一圈作为手链,送给女朋友. 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 思路分析: ...
- 蓝桥杯python:手链样式
题目:小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙. 他想用它们串成一圈作为手链,送给女朋友. 现在小明想知道:如果考虑手链可以随意转动或翻转,一共有多少不同的组合样式? 程序说明: 创建一个新函数,简单 ...
- [蓝桥杯2015初赛]移动距离
题目描述 X星球居民小区的楼房全是一样的,并且按矩阵样式排列. 其楼房的编号为1,2,3- 当排满一行时,从下一行相邻的楼往反方向排号. 比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 5 ...
- [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)
题目描述 如下图, 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连) 比如,下面两张图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...
- 蓝桥杯2015初赛-加法变乘法-枚举
题目描述 我们都知道:1+2+3+ - + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+-+1011+12+-+2728+29+-+49 = ...
最新文章
- 特斯拉再出车祸,两死一伤,这次是Model S
- 【机器学习】朴素贝叶斯
- SVN服务器的搭建,它不是最全面的却是最详细易懂的~
- 互联网常识(持续更新)
- python实现lenet_吴裕雄 python 神经网络TensorFlow实现LeNet模型处理手写数字识别MNIST数据集...
- git上传新项目到服务器_springboot项目打包上传至阿里云服务器
- 你技术很强但薪资不涨?这门技术远比你想的更重要!
- 引导滤波器联合上采样代码
- 2019-09-11想念艾青,想念《大堰河——我的保姆》
- Java架构师-集群:单体部署 ->Nginx 集群【网关、反向代理、动静分离、负载均衡】 -> Keepalived“高可用”组件 -> LVS负载均衡【LVS的并发量是Nginx的几十倍】
- form表单的多种提交方式及提交前验证
- Linux系统磁盘空间不足解决办法
- 出现Cannot resolve plugin XXX的解决办法
- el-checkbox-group 点击box 没反应,无法取消勾选(记一次debug的思路)
- 30天自制操作系统:第8天:鼠标控制与32位模式切换
- Cat_Lee 的博客开张了。 欢迎各位 有空常来坐坐。
- 张小庆,在路上-开始(2)第一天上班
- licheepi nano BS8112A触摸按键
- Prometheus Operator 部署
- 电子与通信工程专硕考分_2021年华北电力大学电子与通信工程专硕考研必看成功上岸前辈复习经验分享...
热门文章
- 遥感、地理空间数据、全国基础数据下载网站大全汇总
- 【空间数据库技术】ArcSDE 10.1安装配置与企业级地理空间数据库的建立及连接
- C语言试题三十八之将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。
- Android之ScrollView设置了高度(android:layout_height=“match_parent“)但里面的组件不能充满问题
- 一张纸能有多大力量?
- 她,既是一个风华绝代的演员,更是WiFi之母...
- 你穿衣品味还不如AI,这有一款时尚着装网络模型
- 北大清华团队编写!200多个科学实验+视频,和爸爸一起在家做
- 资料分享 | 教程与开发手册资料分享来袭
- socket python json_python实现的基于TCP的JSON数据通信