题解 | #名字的漂亮度#
数据结构学的贼差.
#include
#include
void bubble_sort(int *arrin, unsigned int len)
{
int i = 0, j = 0;
int tmp = 0;
for(i = 0; i < len; i++) {
for(j = i; j < len; j++) {
if(arrin[i] < arrin[j]) {
tmp = arrin[i];
arrin[i] = arrin[j];
arrin[j] = tmp;
}
}
}
}
int main(void)
{
int n = 0;
int i = 0, j = 0;
char string[10000] = "\0";
int sflag[26] = { 0 };
unsigned long sum = 0;
int len = 0;
scanf("%d", &n);
for(i = 0; i < n; i++) {
memset((void *)string, 0x00, sizeof(string));
memset(sflag, 0x00, sizeof(sflag));
sum = 0;
j = 0;
//get string
scanf("%s\n", string);
//cal repeat max
len = strlen(string);
for(j = 0; j < len; j++) {
if((string[j] >= 'A') && (string[j] <= 'Z')) {
string[j] += ('a' - 'A');
}
sflag[string[j] - 'a'] += 1;
}
//sort sflag
bubble_sort(sflag, 26);
for(j = 26; j > 0; j--) {
sum += sflag[26-j] * j;
if(0 == sflag[26 - j]) {
break;
}
}
printf("%ld\n", sum);
}
return 0;
}