华为OJ——名字的漂亮度
来源:互联网 发布:保利科技 工作 知乎 编辑:程序博客网 时间:2024/04/29 23:35
名字的漂亮度
题目描述
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
输入描述:
整数N,后续N个名字
输出描述:
每个名称可能的最大漂亮程度
输入例子:
2
zhangsan
lisi
输出例子:
192
101
解答代码:
#include<iostream>#include<fstream>#include<cstring>#include<string>#include<algorithm>using namespace std;void sortA(int array[]){ int i,j; int index=0; for(i=0; i<26-1; i++) { index=i; for(j=i+1; j<26; j++) { if(array[j]>array[index]) index=j; } int temp=array[i]; array[i]=array[index]; array[index]=temp; }}int main(){ char words[10000]; //数据表统计各个字母出现的次数 int wordsCount[26]; int n,i,j; while(cin>>n) { for(int k=0; k<n; k++) { cin>>words; //memset(wordsCount,0,sizeof(wordsCount)); for(i=0; i<26; i++) wordsCount[i]=0; int length=strlen(words); int result=0; int data=26; for(i=0; i<length; i++) { if(words[i]>='A' && words[i]<='Z') wordsCount[words[i]-'A']++; else if(words[i]>='a' && words[i]<='z') wordsCount[words[i]-'a']++; } sortA(wordsCount); for(i=0; i<26; i++) { if(wordsCount[i]!=0) { result+=data*wordsCount[i]; data--; } else break; } cout<<result<<endl; } } return 0;}
0 0
- 华为OJ——名字的漂亮度
- 华为OJ——名字的漂亮度
- 华为OJ——名字的漂亮度
- 华为oj-名字的漂亮度
- 华为OJ测试--名字的漂亮度
- 华为OJ 名字的漂亮度
- 华为OJ 名字的漂亮度
- 华为oj:名字的漂亮度
- 华为oj名字的漂亮度
- 华为OJ:名字的漂亮度
- 华为OJ-名字的漂亮度
- 华为OJ 名字的漂亮度
- 【华为OJ】【033-名字的漂亮度】
- [华为OJ] 名字的漂亮度
- 【华为OJ】名字的漂亮度
- 华为OJ 初级:名字的漂亮度
- 华为OJ 名字的漂亮度
- 【华为 OJ】 名字的漂亮度
- VC与JavaScript交互(三) ———— JS调用C++
- 华为OJ——学英语
- matlab中自带的classification
- 华为OJ——迷宫问题
- Linux下离线手动下载安装C++开发环境
- 华为OJ——名字的漂亮度
- 桌面程序、图标到电脑左上角如何拽回
- 文本文件和二进制文件学习
- gentoo设置单个软件编译的CFLAGS参数和patches
- 老婆我会好好照顾你的!
- 自定义结果类型(result的type属性)
- 程序语言设计(第二天学习)
- private,protected,public,static 作用域
- JVM调优总结: GC相关概念及GC的监控