[计蒜客][排序]红绿蓝 原创

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 字符串

题目描述

在这里插入图片描述

思路

用string 读入,char排序
计算各个颜色大小一直减少,直到不符合要求

AC代码

#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

int main()
{
  string s;
  cin>>s;
  
  char c[s.size()];
  for(int i=0;i<s.size();i++)c[i]=s[i];
  
  sort(c,c+s.size());
  
  for(auto op:c)cout<<op;
  cout<<endl;
  
  int Bn=0,Gn=0,Rn=0;
  for(int i=0;i<s.size();i++)
    if(c[i]=='B')Bn++;
  	else if(c[i]=='G')Gn++;
  	else if(c[i]=='R')Rn++;
  
  int cnt=0;
  while(Bn>=3&&Rn>=1&&Gn>=2)Bn-=3,Gn-=2,Rn--,cnt++;
  
  cout<<cnt;
  
  return 0;
}
posted @ 2021-12-14 21:46  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源