华为oj名字的漂亮度

原创 2015年11月20日 11:31:02
#include<iostream>
#include <algorithm>
#include <string>
#include <string.h>
using namespace std;

bool cmp(int c,int b)
{
   return c>b;
}

int getResult(string &s)
{
	    int a[27];
	    int i,len;
		int max = 26;
		int sum = 0;
		const char *c;
		memset(a,0,sizeof(a));
	    transform(s.begin(), s.end(), s.begin(),  (int (*)(int))toupper);
		c = s.c_str();
		len = s.size();
		for(i=0;i<len;i++)
		{
		    a[(int)(*c)-64]++;
		     c++;
		}
		
	    sort(a,a+27,cmp);
		for(i=0;i<=26;i++)
		{
			  sum += max*a[i];
			  max--;
		}
		return sum;
	
}
int main()
{
	int n,temp;
	string s;
	int o = 0;
	cin>>n;
	int *last= new int[n];
	temp = n;
	while(n--)
	{
		cin>>s;
	    last[o++] = getResult(s);
	}
	for(o=0;o<temp;o++)
	   cout<<last[o]<<endl;
	return 0;
} 

相关文章推荐

华为OJ训练之0001-161226-名字的漂亮度

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

华为OJ 名字的漂亮度

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

华为OJ 名字漂亮度

这是一道坑爹的题目——华为OJ 名字漂亮度

华为oj-名字的漂亮度

名字的漂亮度        答题时间: 00 小时 01 分 55 秒 描述:  给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所...
  • sm629
  • sm629
  • 2014年09月13日 14:30
  • 1231

华为oj 名字漂亮度

此题目要计算漂亮度,根据题意,漂亮度要尽可能的大,而且每个字母的漂亮度不同,范围是[1,26],那么怎么分配者[1,26]的权重能使最后的值最大呢?把出现次数多的给权重大就解决了呗! 举个例子: ...

华为OJ题目(六):名字的漂亮度

思路:这个题目题意有点深奥,但是读懂了,就会比较简单。“漂亮度”,即给每个字母赋值,要求最大的“漂亮度”,即先统计出现字母的类型以及其个数,然后给个数大的字母赋予大的“漂亮值”。例如:“zhangsa...

【华为OJ】【033-名字的漂亮度】

【华为OJ】【算法总篇章】【华为OJ】【033-名字的漂亮度】【工程下载】题目描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂...

华为oj:名字的漂亮度

描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽...
  • zk031
  • zk031
  • 2015年08月28日 19:47
  • 263

华为OJ——名字的漂亮度

题目描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮...

华为OJ-名字的漂亮程度(Java)

华为OJ-名字的漂亮程度(Java)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为oj名字的漂亮度
举报原因:
原因补充:

(最多只允许输入30个字)