1043 输出PATest

复制代码
#include <iostream>
#include<string>
using namespace std;
int su(int a[], int n)//定义一个函数用于计算总和。
{   
    int sum = 0;
    for (int i = 0; i < n; i++)
        sum += a[i];
    return sum;
}
int main() {
    int a[6] = { 0 }, max = 0;
    string str;
    cin >> str;
    for (int i = 0; i < str.size(); i++) {
        if (str[i] == 'P')a[0]++;
        else if(str[i] == 'A')a[1]++;
        else if (str[i] == 'T')a[2]++;
        else if (str[i] == 'e')a[3]++;
        else if (str[i] == 's')a[4]++;
        else if (str[i] == 't')a[5]++;

    }
    
    while (su(a, 6)!=0) {//如果和为0,说明已经输出完成了
        if (a[0] != 0) { cout << "P"; a[0]--; }
        if (a[1] != 0) { cout << "A"; a[1]--; }
        if (a[2] != 0) { cout << "T"; a[2]--; }
        if (a[3] != 0) { cout << "e"; a[3]--; }
        if (a[4] != 0) { cout << "s"; a[4]--; }
        if (a[5] != 0) { cout << "t"; a[5]--; }

    }
}
复制代码

这种题目一定要去繁就简,题目只要求输出“PATest”那就只考虑则6个字母,这个题目和1047 找冠军的题目很像。

posted @   kalice  阅读(120)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示