华为训练题目:初级——名字漂亮度(未通过,显示格式错误)

给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。

http://career-oj.huawei.com/exam/ShowProblemInfo?method=campusProblemInfo&id=228

这道题目一直显示格式错误:

下面是提交的代码:

 1 #include<iostream>
 2 #include<vector>
 3 #include<string>
 4 #include<map>
 5 using namespace std;
 6
 7 map<char,int> ha;
 8
 9 void sorted(vector<int>& vec)
10 {
11     int len=vec.size();
12     int temp;
13     for(int i=0;i<len-1;i++)
14         for(int j=i+1;j<len;j++)
15             if(vec[j]<vec[i])
16             {
17                 temp=vec[i];
18                 vec[i]=vec[j];
19                 vec[j]=temp;
20             }
21 }
22 vector<int> piaoliangdu(vector<string>& vec)
23 {
24     vector<int> rev;
25     vector<int> v;
26     int len=vec.size();
27     for(int i=0;i<len;i++)
28     {
29         string s=vec[i];
30         for(string::iterator iter1=s.begin();iter1!=s.end();iter1++)
31             if(*iter1<‘a‘||*iter1>‘z‘)
32                 *iter1=*iter1+32;
33         ha.clear();
34         for(string::iterator iter1=s.begin();iter1!=s.end();iter1++)
35         {
36             if(ha.count(*iter1)==0)
37                 ha[*iter1]=1;
38             else
39                 ha[*iter1]++;
40         }
41         v.clear();
42         for(map<char,int>::iterator j=ha.begin();j!=ha.end();j++)
43             v.push_back(j->second);
44         sorted(v);
45
46         int du=26;
47         int re=0;
48         for(vector<int>::reverse_iterator j=v.rbegin();j!=v.rend();j++)
49         {
50             re=re+(du*(*j));
51             du--;
52         }
53         rev.push_back(re);
54     }
55     return rev;
56 }
57
58 int main()
59 {
60     int n;
61     vector<string> vec;
62     string s;
63     cin>>n;
64     while(n--)
65     {
66         cin>>s;
67         vec.push_back(s);
68     }
69
70     vector<int> rev=piaoliangdu(vec);
71     vector<int>::iterator i;
72     for(i=rev.begin();i!=rev.end()-1;i++)
73         cout<<*i<<‘ ‘;
74     cout<<*i<<endl;
75     system("pause");
76
77 }
时间: 2024-09-28 23:49:38

华为训练题目:初级——名字漂亮度(未通过,显示格式错误)的相关文章

华为训练题目:初级——字符串最后一个单词的长度

初级 字符串最后一个单词的长度 描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 思路:这道题字符串可能中间有空格,可能后面最后有空格. 先将下标从后往前指到最后一个不是空字符的方,再开始计数 1 #include<iostream> 2 #include<string> 3 using namespac

华为训练题目:初级——(练习用)挑7

初级 3162人提交 1468人正确 分值:100分 00 小时 00 分钟 05 秒 描述 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数 知识点 循环 运行时间限制 0M 内存限制 0 输入 一个正整数N.(N不大于30000) 输出 不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17. 样例输入 20 样例输出 3 这题用的方法比较一般,就是循环遍历,可能还有简单的方法,暂时没想到 下面是AC代码

华为训练题目:初级——合唱队

述 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1<=i<=K)使得Ti<T2<......<Ti-1<Ti>Ti+1>......>TK.      你的任务是,已知所有N位同学的身高,计算最少需要几位同学出

华为训练题目:初级——图片整理(排序,字典)

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好.请大家给Lily帮忙,通过C语言解决. 知识点 字符串 运行时间限制 0M 内存限制 0 输入 Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. 输出 Lily的所有图片按照从小到大的顺序输出 样例输入 Ihave1

华为初级——名字的漂亮度

值得注意:对于每个名字来说:名字的漂亮度=26*字母个数最多的+25*字母个数其次的+24*字母个数再其次的-- 源程序: #include<iostream> #include<string> using namespace std; const int M=50; int main() { int n,i,j,k,len; int beauti[M]={0}; int t; cin>>n; char a[M][30]; for(i=0;i<n;i++) cin

华为OJ题目

题目描述: 新入职华为的小伙伴们都有在oj上面刷题的任务,共需要刷100道初级题,45道中级题,5道高级题,其中,做出来的高级题如果超标可以当初级或者中级题,做出来的中级题如果超标可以当初级题.每天,出题的大哥会给大家出Xi道题,这Xi道题属于同一个难度级别,小伙伴们要么用一天时间把这些题全做出来,要么就不做.现在,给你每天出题大哥出的题数以及难度,请问,小伙伴们最少要挑选其中几天去做题,才能把这150道题的任务完成呢? 输入示例: 5 100 70 5 5 55 1 2 2 2 3 输出: 2

LeetCode OJ平台上Maximum Subarray题目O(n)复杂度解决方案

原始题目如下,意为寻找数组和最大的子串,返回这个最大和即可. Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [?2,1,?3,4,?1,2,1,?5,4], the contiguous subarray [4,?1,2,1] has the largest sum = 6.

凯撒密码 史上最难的问题(呃,这是编程题目的名字,不是真的最难.....)

史上最难的问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22160   Accepted: 12165 Description 儒略?凯撒生活在充满危险和阴谋的年代,而其中最艰难的状况莫过于求得生存.于是他发明了最早的密码系统之一,用于军队的消息传递. 假设你是凯撒军团中的一名军官,需要把凯撒发送的消息破译出来,并提供给你的将军.消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息

OJ——华为编程题目:输入字符串括号是否匹配

package t0815; /* * 华为编程题目:输入字符串括号是否匹配 * 若都匹配输出为0,否则为1 * 样例输入:Terminal user [name | number (1)] * 样例输出:0 * Java版本 */ /* * 个人总结: * (1)语法上Java的输入Scanner使用 * (2)char[] arr=mxf.toCharArray()的使用,将输入的字符串转成字符数组:这样就可以一个 * 一个的遍历 * (3)算法上,这里使用了经典的入栈和出栈的思想 * */