51Nod
来源:互联网 发布:肖申克的救赎影评知乎 编辑:程序博客网 时间:2024/05/16 13:51
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
Input
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
Output
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
Sample Input
dad
Sample Output
77
解题思路:按字母出现次数从大到小排序,第一大赋值为26,第二大赋值为25……
AC代码:
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char a[10010];int b[26];bool cmp(int a,int b){ return a>b;}int main(){ memset(b,0,sizeof(b)); scanf("%s",a); int l=strlen(a); long long sum=0; for(int i=0;i<l;i++) { if(a[i]>='A'&&a[i]<='Z') a[i]+=32; b[a[i]-'a']++; } sort(b,b+26,cmp); int cnt=26; for(int i=0;b[i]!=0;i++) { sum+=cnt*b[i]; cnt--; } printf("%lld\n",sum); return 0;}
阅读全文
0 0
- 51Nod
- 51Nod
- 51nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51nod
- 数据库编码com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1
- hdu 2577 How to Type 经典 二维 dp
- 整数转化为罗马数
- (main函数)
- python设计模式之访问者模式
- 51Nod
- Two Sum
- 2017第20届中国西安国际供热采暖与建筑环境技术设备展览会会刊(参展商名录)
- 什么是存根类 Stub
- 生成验证码
- 设计模式--责任链模式
- Ubuntu安装c#编译器mono
- 如何用一次循环得到数组中第二大数
- 浅谈-ModBus-发送报文