51Nod 1182 完美字符串

Input示例
dad
Output示例
77



#include "bits/stdc++.h"
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f3f
#define PI acos(-1)
#define N 10010
#define MOD 10
using namespace std;
char str[N];

map<char,int> m;
vector<int> v;
int main()
{
    int n,t;
    while(~scanf("%s",str)){
        m.clear();
        v.clear();
        int len=strlen(str);
        for(int i=0;i<len;i++){
            m[str[i]]++;
        }
        int ans=0,k=26;
        for(__typeof(m.begin())it=m.begin();it!=m.end();it++){
            v.push_back(it->second);
        }
        sort(v.begin(),v.end(),greater<int>());
        for(__typeof(v.begin())it=v.begin();it!=v.end();it++){
            ans+=(k--)*(*it);
        }
        printf("%d
",ans);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/kimsimple/p/7462184.html