描述 |
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 |
---|---|
知识点 | 字符串 |
运行时间限制 | 0M |
内存限制 | 0 |
输入 |
整数N,后续N个名字 N个字符串,每个表示一个名字
|
输出 |
每个名称可能的最大漂亮程度 |
样例输入 | 2 zhangsan lisi |
样例输出 | 192 101 |
<span style="font-size:18px;">#include<iostream>
#include<stdlib.h>
using namespace std;
int cmp(const void *a,const void *b)
{
return(*(char *)a-*(char *)b);
}
void fun(char str[],int len)
{
char temp[256];
char last[256];
memset(last,0,sizeof(last));
memset(temp,0,sizeof(temp));
int sum=0;
int n=0;
int num=26;
for (int i=0;i<len;++i)
{
temp[str[i]]++;
}
for (int i=0;i<256;i++)
{
if (temp[i]!=0)
{
last[n++]=temp[i];
}
}
qsort(last,n,sizeof(char),cmp);
for (int i=n-1;i>=0;i--)
{
sum=sum+last[i]*num;
num--;
}
cout<<sum<<endl;
}
int main()
{
char str[1024];
int n;
cin>>n;
for (int i=0;i<n;i++)
{
cin>>str;
int len=strlen(str);
fun(str,len);
}
}</span>