51nod 1182 完美字符串
2016-06-07 19:26
351 查看
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1182
题目:
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
Input
Output
统计排序,从大到小贪心。
题目:
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
Input
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
Output
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
统计排序,从大到小贪心。
#include <iostream> #include<bits/stdc++.h> using namespace std; int d[27]; char s[11000]; int main() { scanf("%s",s); int len=strlen(s); memset(d,0,sizeof(d)); for(int i=0;i<len;i++) { if(s[i]<='z'&&s[i]>='a') d[s[i]-'a']++; else d[s[i]-'A']++; } sort(d,d+26); int ans=0; for(int i=25;i>=0;i--) ans+=d[i]*(i+1); cout<<ans<<endl; }
相关文章推荐
- android Webview打开、上传本地图片的解决方案 支持到5.0
- 74.VS2013和opencv3.1.0安装教程
- 函数模板与类模板
- iOS开发---常用公用方法
- 以前的老题:给小学生出十道题,并判断对了几道
- 乐学成语——显示学习列表
- [技术随笔(一)] 文件分割的两种方法
- 去掉网页中错误页面提示
- qt中的委托-简单的应用
- Linux进程管理之task_struct
- Vitamio的使用
- 在Java中如何遍历Map对象
- PROFTPD
- TopCoder SRM 637 Div2 C
- websocket 403
- 用Mockplus教你使用属性面板的设置交互状态
- Hibernate学习
- OKHttp详解
- 第15周阅读程序(6)
- Spring Boot 实践折腾记(一):快速,Hello World例子