15年第六届蓝桥杯第七题_(string)
2024-08-23 21:06:16
手链样式
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
请你提交该整数。不要填写任何多余的内容或说明性的文字。
一开始以为是搜索,发现不行,想了一会儿没有思路,看了题解。。。用了一个比较慢,但是想法简单的方法。
主要用了一些stl的函数,
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
#include<string>
using namespace std; vector<string> strs; int main()
{
int sum=;
string str("aaabbbbccccc");
do
{
vector<string>::iterator it;
for(it=strs.begin();it!=strs.end();it++)
{
if((*it).find(str,)!=string::npos) //string的find函数
break;
}
if(it!=strs.end())
continue;
sum++;
string newstr=str+str; //转动
strs.push_back(newstr);
reverse(newstr.begin(),newstr.end()); //翻动
strs.push_back(newstr);
}while(next_permutation(str.begin(),str.end())); //next_permutation函数
cout<<sum<<endl;
return ;
}
最新文章
- [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务
- 【转】HiveQL:对数据定义的学习
- PHP服务器配置环境变量
- 微信WeixinJSBridge API
- linux内核源码阅读之facebook硬盘加速利器flashcache
- 学习笔记TF020:序列标注、手写小写字母OCR数据集、双向RNN
- 自己写的日志框架--linkinLog4j--日志框架的必要性
- 分享python分析wave, pcm音频文件
- Oracle 启动监听命令
- C#中try catch finally 用法
- java————数组 简单写出一个管理系统
- 简述nginx(1)
- curl请求https请求
- WPF InkCanvas 书写毛笔效果
- Windows环境下 PHP调用R脚本
- Python学习记录之----网络通信(一)
- 爬虫学习06用selenium爬取空间
- linux基本命令练习
- 42-2017蓝桥杯b java
- Java 装饰器模式详解
热门文章
- Linux下C编程的学习_1
- 读书笔记:Information Architecture for the World Wide Web, 3rd Edition 北极熊 第一部分 1-3
- Java中的字节输入出流和字符输入输出流
- easyUI 对话框的关闭事件
- UnicodeEncodeError:&#39;latin-1&#39; codec can&#39;t encode character
- RK3288][Android6.0] 调试笔记 --- 关闭按键音后无法录音问题【转】
- JQuery 日期选择框
- securecrt中vim行号下划线问题及SecureCRT里root没有高亮的设置,修改linux终端命令行颜色
- 洛谷P1291 [SHOI2002]百事世界杯之旅——期望DP
- 02_cfork分叉进程