码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-11 10:02:44      阅读:1054      评论:0      收藏:0      [点我收藏+]

标签:

给出一个名字,该名字有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 }

 

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

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4720071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!