描述 |
給出一個名字,該名字有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>