博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C. Nice Garland
阅读量:5862 次
发布时间:2019-06-19

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

题意:

  就是有一串灯分别颜色是R,G,B。要求将每种颜色的灯相隔2个不同的灯。比如,RGR变成RGB才叫好看。

分析:

  RGB有6种排列,分别是:"RGB", "RBG", "GBR", "GRB", "BGR", "BRG"。但是注意的是,两种之间的排列,肯定是不满足这样的情况的。

所以,怎样才能满足题目的要求呢?这样只有同样的情况才可以。也就是说RGRBGRRRG每个只能按照一个排列来进行更改。因为,把这样的字符串这样分三个改好后

其实就已经是好看的。也就是6种情况都进行暴力,然后比较大小。

#include
#include
using namespace std;const int maxn = 2 * 1e5 + 10;string ss[6] = { "RGB", "RBG", "GBR", "GRB", "BGR", "BRG" };int vis[6];int main(){ char st[maxn]; int n; cin >> n; cin >> st; for (int j = 0; j < 6;++j) for (int i = 0; i < n; ++i){ if (st[i] != ss[j][i % 3]){ ++vis[j]; } } int minn = 0; for (int i = 0; i < 6; ++i){ if (vis[minn]>vis[i])minn = i; } cout << vis[minn] << endl; for (int i = 0; i < n; ++i){ cout << ss[minn][i % 3]; } cout << endl;}

 

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/10319555.html

你可能感兴趣的文章
MPLS LDP报文格式
查看>>
4..21学习内容总结
查看>>
基于Elasticsearch+Fluentd+Kibana的日志收集分析系统
查看>>
大数据分析在新型智慧能源建设中的应用
查看>>
netty源码分析之服务端启动
查看>>
Get了这个外挂级神器,一个小时的工作我竟然十分钟就做完了
查看>>
web.xml里<filter-mapping>中的<dispatcher>
查看>>
101.使用 js 选择 单选框 复选框 下拉框
查看>>
问答推广怎么做有效果?关于问答推广的小技巧分享
查看>>
JBoss应用服务器监控
查看>>
常用excel技巧
查看>>
2019/1/14 Linux基础学习
查看>>
分离式部署LNMP架构并实现项目上线
查看>>
请求内部转发与重定向区别
查看>>
分析企业上云的办法及意义
查看>>
CAD快速看图如何打印图纸的部分内容?
查看>>
华为路由器 静态路由
查看>>
如何打造专属直播平台
查看>>
discuz 提供管理员权限
查看>>
我的友情链接
查看>>