完美字符串 51Nod - 1182 (贪心水题)

https://vjudge.net/problem/51Nod-1182

#include<cstdio>
#include<iostream>
#include <string>
#include <cstring>
#include<algorithm>
using namespace std;

string s;
struct Alpha{
    int a, v;//第a个字母对应的数量v
}alpha[30];
int cmp(Alpha a, Alpha b)
{
    return a.v > b.v;
}
int main()
{
    cin >> s;
    for(int i = 1; i <= 26; i++)
        alpha[i].a = i, alpha[i].v = 0;
    for(int i = 0; i < s.length(); i++){
        if(s[i]=='A' || s[i]=='a') alpha[1].v++;
        else if(s[i]=='B' || s[i]=='b') alpha[2].v++;
        else if(s[i]=='C' || s[i]=='c') alpha[3].v++;
        else if(s[i]=='D' || s[i]=='d') alpha[4].v++;
        else if(s[i]=='E' || s[i]=='e') alpha[5].v++;
        else if(s[i]=='F' || s[i]=='f') alpha[6].v++;
        else if(s[i]=='G' || s[i]=='g') alpha[7].v++;
        else if(s[i]=='H' || s[i]=='h') alpha[8].v++;
        else if(s[i]=='I' || s[i]=='i') alpha[9].v++;
        else if(s[i]=='J' || s[i]=='j') alpha[10].v++;
        else if(s[i]=='K' || s[i]=='k') alpha[11].v++;
        else if(s[i]=='L' || s[i]=='l') alpha[12].v++;
        else if(s[i]=='M' || s[i]=='m') alpha[13].v++;
        else if(s[i]=='N' || s[i]=='n') alpha[14].v++;
        else if(s[i]=='O' || s[i]=='o') alpha[15].v++;
        else if(s[i]=='P' || s[i]=='p') alpha[16].v++;
        else if(s[i]=='Q' || s[i]=='q') alpha[17].v++;
        else if(s[i]=='R' || s[i]=='r') alpha[18].v++;
        else if(s[i]=='S' || s[i]=='s') alpha[19].v++;
        else if(s[i]=='T' || s[i]=='T') alpha[20].v++;
        else if(s[i]=='U' || s[i]=='u') alpha[21].v++;
        else if(s[i]=='V' || s[i]=='v') alpha[22].v++;
        else if(s[i]=='W' || s[i]=='w') alpha[23].v++;
        else if(s[i]=='X' || s[i]=='x') alpha[24].v++;
        else if(s[i]=='Y' || s[i]=='y') alpha[25].v++;
        else if(s[i]=='Z' || s[i]=='z') alpha[26].v++;
    }
    sort(alpha+1, alpha+1+26, cmp);
    int v = 26, sum = 0;
    for(int i = 1; i <= 26 && alpha[i].v!=0 ; i++)
        sum += (alpha[i].v*v), v--;
    cout << sum <<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/a1097304791/article/details/83150698
今日推荐