华为0基础——名字的美丽度

值得注意:对于每一个名字来说:名字的美丽度=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>>a[i];
	for(i=0;i<n;i++)
	{
		int b[26]={0};
		len=strlen(a[i]);
		for(j=0;j<len;j++)//计算每一个字母出现的频次。

{
			b[a[i][j]-'a']++;
		}
		for(k=0;k<26;k++)//将每一个字母出现的频次按从大到小的顺序排列。
		{
			for(int m=k+1;m<26;m++)
			{
				if(b[k]<b[m])
				{
					t=b[k];b[k]=b[m];b[m]=t;
				}
			}
		}
		for(int j=0,du=26;j<26,du>=1;j++,du--)//计算a[i]的美丽度
		{
			beauti[i]=beauti[i]+du*b[j];
		}
	}
	for(i=0;i<n;i++)
		cout<<beauti[i]<<endl;
	return 0;
}

执行结果:

总结:我觉得这道题目还是非常不错的。唯一不足的地方是题目没有描写叙述清楚:名字的美丽度=26*字母个数最多的+25*字母个数其次的+24*字母个数再其次的……当中要计算每一个字母出现的频次,这里用到的算法是我曾经从别人的算法中学过来的。

还要对频次进行排序,并且名字的美丽度有两个量:字母的频次*字母的美丽度。尽管是道0基础题,个人觉得还是能够考查基本功~哈哈,每天都登陆华为OJ平台,希望能够进华为哈~

时间: 2024-10-11 13:16:01

华为0基础——名字的美丽度的相关文章

华为0基础——合唱队

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveG1oMTk1NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 提示:这是属于动态规划问题.动态规划算法通经常使用于求解具有某种最优性质的问题.在这类问题中.可能会有很多可行解.每个解都相应于一个值.我们希望找到具有最优值的解. 事实上这道题目有一些问题:不能交换位置,这个关键的信息在

华为OJ 名字美丽度

这是一道坑爹的题目,为什么这么说,且看我慢慢分析-- 题目例如以下: 给出一个名字,该名字有26个字符串组成,定义这个字符串的"美丽度"是其全部字母"美丽度"的总和. 每一个字母都有一个"美丽度".范围在1到26之间.没有不论什么两个字母拥有同样的"美丽度".字母忽略大写和小写. 给出多个名字.计算每一个名字最大可能的"美丽度". 输入: 整数N.后面N个名字,如 2 zhangsan lisi 输出: 每

六、华为IP基础快速入门之RIP协议

六.华为IP基础快速入门之RIP协议 1.本章学习目标 2.课程内容 3.了解什么是路由 4.RIP协议概述:RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递.RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用"跳数"(即metric)来衡量到达目标地址的路由距离.这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息

Zabbix 3.0 基础介绍 [一]

Zabbix 3.0 基础介绍 [一] zabbix 一.Zabbix介绍 zabbix 简介   Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利   zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案.   zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

0基础搭建Hadoop大数据处理-编程

Hadoop的编程可以是在Linux环境或Winows环境中,在此以Windows环境为示例,以Eclipse工具为主(也可以用IDEA).网上也有很多开发的文章,在此也参考他们的内容只作简单的介绍和要点总结. Hadoop是一个强大的并行框架,它允许任务在其分布式集群上并行处理.但是编写.调试Hadoop程序都有很大难度.正因为如此,Hadoop的开发者开发出了Hadoop Eclipse插件,它在Hadoop的开发环境中嵌入了Eclipse,从而实现了开发环境的图形化,降低了编程难度.在安装

饥荒MOD lua编程0基础入门

前言 原贴写于饥荒游戏贴吧,为了使文章针对性更强,将原文切割并精简.此贴主要为编程0基础的modder讲解一些编程的基础知识.至于说有关饥荒框架的介绍,则会放在另一篇文章里讲解. 编程0基础的人,要想学习制作MOD,难度是比较大的,因为缺乏一些基本的编程概念,只懂得复制别人的代码或者在它们的基础上稍加改变,遇到稍微复杂一点的代码,就束手无策了.对于MOD崩溃或错误,也几乎没办法自行处理.但我也不推荐先去学一门编程语言之后再来学习MOD代码,这是没有必要的.事实上饥荒MOD里用到的基本编程知识都比

逗比之——程序猿装逼手冊1(0基础版)

一.准备工作 "工欲善其事必先利其器." 1.电脑不一定要配置高,可是双屏是必须的,越大越好,能一个横屏一个竖屏更好.一个用来查资料,一个用来写代码.总之要显得信息量非常大,效率非常高. 2.椅子不一定要舒服,可是一定要能够半躺着. 3.大量的便签,各种的颜色的,用来记录每天要完毕的事务,多多益善.沿着电脑屏幕的边框,尽量贴满,显出有非常多事情的样子. 4.工具书,orelly的,机械工业,电子工业什么的都能够,能英文就英文,不行影印版的也能够,反正越厚越好,并且千万不要放在书架上,一

0基础的小白怎么学习Java?

自身零基础,那么我们应该先学好Java,首先我们来了解下Java的特性: Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java.另一方面,Java丢弃了C++中很少使用的.很难理解的.令人迷惑 的那些特性,如操作符重载.多继承.自动的强制类型转换.特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧. Java语言是一个面向对象的 Java语言提供类.接口和继承等原语,为了简单起见,只支持类之间的单继承,但

华为交换机基础配置

一些华为的基础的命令行 system-view ------ 进入系统视图sysname-------R1修改主机名为R1 display version ------显示版本 display current-configuration -------查看交换机当前配置 save ----配置完交换机后保存当前配置的命令aaa-----进入三A视图vlan10-----创建一个vlan10display port vlan------显示当前各端口vlan情况undo terminal moni