博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018.07.20 atcoder Largest Smallest Cyclic Shift(贪心)
阅读量:5260 次
发布时间:2019-06-14

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

题意:给你x个a,y个b,z个c,显然这些字符可以拼成若干字符串,然后求这些字符串中最小表示法表示出来的最大的那一个。

解法:贪心思想,用multiset维护现在拼成的字串,每次取一个最小的和一个最大的拼在一起,最后剩下的就是答案。

代码如下:

#include
using namespace std;int a,b,c;multiset
s;int main(){ scanf("%d%d%d",&a,&b,&c); for(int i=1;i<=a;++i)s.insert("a"); for(int i=1;i<=b;++i)s.insert("b"); for(int i=1;i<=c;++i)s.insert("c"); while(s.size()>1){ string ss=*s.begin()+*--s.end(); s.erase(s.begin()); s.erase(--s.end()); s.insert(ss); } cout<<*s.begin(); return 0;}

转载于:https://www.cnblogs.com/ldxcaicai/p/9738438.html

你可能感兴趣的文章
Unity3D 控制物体移动、旋转、缩放
查看>>
UVa 11059 最大乘积
查看>>
UVa 12545 比特变换器
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
10个著名的思想实验1
查看>>
composer 报 zlib_decode(): data error
查看>>
03_java基础(一)之计算机应用知识普及
查看>>
C#微信公众号开发-高级接口-之网页授权oauth2.0获取用户基本信息(二)
查看>>
C++中memset()函数的作用
查看>>
微信展会报名签到入场系统asp源码写的asp微信会展报名系统程序
查看>>
JavaScript日志
查看>>
SSD硬盘的4K对齐
查看>>
OpenFire源码学习之三十一:使用Tsung测试openfire(上)
查看>>
红帽7 vsftpd服务
查看>>
mysql update select 从查询结果中更新数据
查看>>
牛客小白赛4J——强迫症
查看>>
Kohana::ORM学习
查看>>
On the Criteria To Be Used in Decomposing Systems into Modules
查看>>
Java表格模型事件示例
查看>>
0034 Java学习笔记-反射-初步2-操作对象
查看>>