爱奇艺编程题:字符串价值

题目:https://www.nowcoder.com/practice/9240357eefcf4d938b90bdd5eec3712b?tpId=90&tqId=30795&tPage=1&rp=1&ru=/ta/2018test&qru=/ta/2018test/question-ranking

#include

using namespace std;

bool cmp(const pair &p1,const pair &p2){

return p1.second > p2.second;

}

int main()

{

string s;

int k;

while(cin >> s >> k){

map cnt;

for(auto ch:s)

++cnt[ch];

vector> vec;

for(auto it = cnt.begin();it != cnt.end();++it)

vec.push_back(make_pair(it->first,it->second));

int sz = vec.size();

while(k > 0){

sort(vec.begin(),vec.end(),cmp);

vec[0].second -= 1;

--k;

}

int sum = 0;

for(auto i = 0;i < sz;++i)

sum += vec[i].second * vec[i].second;

cout<

}

    return 0;

}

你可能感兴趣的:(爱奇艺编程题:字符串价值)