名字的漂亮度
2015-07-27 18:21
120 查看
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。输入:整数N,后续N个名字N个字符串,每个表示一个名字输出:每个名称可能的最大漂亮程度样例输入:
2 zhangsan lisi样例输出:
192 101
思路:题目没有描述清楚:名字的漂亮度=26*字母个数最多的+25*字母个数其次的+24*字母个数再其次的……其中要计算每个字母出现的频次
#include<iostream>#include<cstdio>#include<cstdlib>#include<vector>#include<algorithm>#include<string>#include<functional>//#include<cmath>using namespace std;int HashTable[26];//统计26个小写字母出现的次数bool compare(const int &a,const int &b){return a>b;}int main(){int n;cin>>n;while(n--){for(int i=0;i<26;i++){HashTable[i]=0;}string str;// getline(cin,str);cin>>str;for(int i=0;i<str.size();i++) //将大写字母转换为小写字母{if(str[i]>='A'&&str[i]<='Z'){str[i]=str[i]+32;}}for(int i=0;i<str.size();i++) //统计每个字符出现的次数{HashTable[str[i]-'a']++;}sort(HashTable,HashTable+26,compare);int sum=0;int index=0;for(int i=26;i>=0&&HashTable[index]!=0;i--){sum+=i*HashTable[index++];}cout<<sum<<endl;}return 0;}
相关文章推荐
- JVM 进阶五
- IOS中的block的retain循环
- CPU大小端字节序的检测
- 树型dp入门小节
- 【php】Apache无法自动跳转却显示目录与php无法连接mysql数据库的解决方案
- linux硬链接与软链接
- Android Studio里面新建aidl出现的问题
- JavaScript调用客户端Java程序的方法
- 关于a标签的下载功能
- 创建私有Cocoapods库
- STM32 SysTick 精确延时(非中断方式)
- Zabbix监控之检测程序日志中错误发生的次数
- hdoj 2647 Reward(逆向拓扑排序+队列)
- centOS下的nginx1.8.0多站点配置(同一IP,不同端口)
- TabHost的两种使用方法
- vs2010+pcl遇到的无法解析的外部命令
- codeforce Gym 100500I Hall of Fame (水)
- CSS选择器的权重与优先规则(转)
- Nginx配置文件说明
- sycPHPCMS v1.6 cookie sqlinjection