题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <stdio.h> #include <string.h> int main() { int N=0; char str[10000]; scanf("%d", &N); for(int i = 0; i < N ; i++) { int a[26] = {0}; int kind[26] = {0}; int count = 0; scanf("%s", str); for(int j = 0; j < strlen(str); j++) { a[str[j]-'a']++; } for(int j = 0; j <= 26;j++) { if(a[j] != 0) { kind[count] = a[j]; count++; } } for(int j = 0; j < count-1; j++) { for(int c = 0; c < count - j - 1 ; c++) { if(kind[c] < kind[c+1]) { int tmp = kind[c]; kind[c] = kind[c+1]; kind[c+1] = tmp; } } } int val = 26; int sum = 0; for(int j = 0; j < count;j++) { sum = sum + kind[j] * val; val--; } printf("%d\n", sum); } }