XDOJ1281 - aqx的烦恼

来源:互联网 发布:手机啤酒是什么软件 编辑:程序博客网 时间:2024/05/29 13:20
Description

 Aqx果然又顺利拿下了国内5个赛区的入场券,但他只能去两个赛区打比赛,到底哪两个赛区呢?Aqx非常苦恼,精通算法的他生成了一个随机串,他会挑选出现次数最多的两个赛区。
其中,五个赛区是:C(长春赛区),T(天津赛区),J(金华赛区),H(杭州赛区),  S(上海赛区)。

Input
输入一个长度为l的字符串,字符串中只包含C , T , J , H, S五种字符。
其中,  0< l < 1000000, 保证每种字符至少出现一次。
Output
挑选出现次数最多的两个赛区,输出它们的次数之和。
Sample Input
CTHJSCTJHS
CTJHSCTJHSCC
Sample Output
4
6
Hint

注意输出多组数据


#include<iostream>#include<string>using namespace std;const int charN = 5;int main(){    string str;    int a[charN];    while(cin>>str)    {        for(int i=0;i<charN;++i)            a[i] = 0;        int len = str.length();        for(int i=0;i<len;++i)        {            switch(str[i])            {                case 'C': a[0]++;break;                case 'T': a[1]++;break;                case 'J': a[2]++;break;                case 'H': a[3]++;break;                case 'S': a[4]++;break;            }        }        for(int i=0;i<2;++i)            for(int j=charN-1;j>i;--j)                if(a[j]>a[j-1])                    swap(a[j],a[j-1]);        cout<<a[0]+a[1]<<endl;    }    return 0;}


0 0