题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <stdio.h> #include <string.h> int main() { int n; scanf("%d\n",&n); char s[10000]; for(int k=0;k<n;k++) { gets(s); int map[26]; for(int i=0;i<26;i++) { map[i]=0; } int len=strlen(s); for(int i=0;i<len;i++) { // printf("%c ",s[i]); map[s[i]-'a']++; } for(int i=0;i<26;i++) { for(int j=i+1;j<26;j++) { if(map[j]>map[i]) { int flag=map[i]; map[i]=map[j]; map[j]=flag; } } } int ret=0; int temp=26; for(int i=0;i<26;i++) { ret=ret+map[i]*temp; temp--; } printf("%d\n",ret); } return 0; }