NYOJ290-动物统计加强版

动物统计加强版
时间限制:3000 ms    内存限制:150000 KB
难度:4
描述
在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中

哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。
输入
第一行输入动物名字的数量N(1= N = 4000000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并

且只有一组测试数据)。

输出
输出这些动物中最多的动物的名字与数量,并用空格隔开(数据保证最多的动物不会出现两种以上)。

样例输入
10
boar
pig
sheep
gazelle
sheep
sheep
alpaca
alpaca
marmot
mole

样例输出
sheep 3

 

思路:平常的排序方式已经无法解决,只能用字典树来解决,一直不想看字典树的,因为和面向对象有关系,今天还是硬着头皮做了,没自己

想像的那么难理解(还好我是学JAVA的),看了网上的模板,揣摩了一番,模仿着写出来了

AC代码:
(可以当做字典树模板)

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
       node *next[26];//node类的26个子类
       int count;//每一个类终端的个数
       node(){//构造函数,用来初始化数据
              memset(next,0,sizeof(next));
              count=0;
       }
};
int MAX;//用来记录最出现次数
char flag[20]; //用来记录出现次数最多的字符串
node *root=new node();//声明一个初始node类 (这个类决定了以下所有子类,是字典树的根)
void insert(char *s) //插入新的字符串
{
     node *p=root;
     int i,k;
     for(i=0;s[i];i++){
         k=s[i]-'a';
         if(p->next[k]==NULL) p->next[k]=new node();//不存在此节点则创建
         p=p->next[k];//移向下一个节点
     }
     p->count++;
     if(p->count>MAX){//更新MAX和flag
        MAX=p->count;
        strcpy(flag,s);
     }
}
int main()
{
    int n;
    char s[15];
    scanf("%d",&n);
    while(n--)
    {
       scanf("%s",s);
       insert(s);
    }
    printf("%s %d\n",flag,MAX);
    return 0;
}
时间: 2024-11-16 21:38:16

NYOJ290-动物统计加强版的相关文章

一只喵引发的思考:动物们的开源技术和工具

我今天早上和我的猫讨论开源技术,他让我想到了一个好点子:"为什么不为动物写一篇关于开源技术的文章呢?" Donald (我的猫)是对的.动物相关的开源项目理应受到关注.毕竟动物越来越多地出现在开源项目的品牌 logo上,其中宠物,比如我的猫就为此提供了大力支持. 我做了一些研究,可能你会学到有一个goggle(鹅的名字)的开源项目,不用太惊讶,这让帮助我们保持爱和改善动物的生活.下次让我们来做个gander(另一个鹅的名字)吧? 别跟踪我 想想在咱们家附近的那些小宝贝儿们吧,很多都到处

飞信将推加强版以防被盗号码被用于诈骗

10月27日下午消息,中国移动飞信软件的技术提供商近日透露,将在月底推出"安全加强版"飞信软件,以便防止密码被盗. 近期,飞信密码被盗后被用于诈骗的情况严重,很多飞信用户收到有关于"获得非常6+1栏目砸金蛋大奖"的获奖信息.中国移动下属的飞信网站之前声明称,并不会发送此类中奖信息,建议用户提高警惕.中国移动北京公司同时表示,近日用户飞信密码频繁被盗与密码过于简单有关. 中国移动飞信软件的技术提供商则表示,即将推出"安全加强版"飞信软件,该版本将从

淘宝有“动物保护”网店骗取捐款?

"扬州流浪动物救助协会"赫然出现在淘宝网上.网络截图 15日,有网友爆料称,淘宝网上有个"扬州流浪动物救助协会",盗用了南京某动物保护组织的图片募捐,应当是一个假的组织.记者介入调查发现,扬州民政部门并无此类团体登记注册,淘宝网上的那个"扬州流浪动物救助协会"为虚假组织,其行为有骗捐嫌疑,目前经调查,已有百余名网民被骗. 通讯员 宋体佳 http://www.aliyun.com/zixun/aggregation/38845.html"

“云计算”筑起动物疫病入渝“防火墙”

通过"云计算"掌握外地入渝或过境动物及其产品的"来龙去脉",筑起一道更牢固的"防火墙".昨日,市动物卫生监督所有关负责人告诉记者,这种依托数字化手段实现的全程跟踪,能有效防止外疫传入. 这道数字化"防火墙",叫做"重庆市动物及动物产品流通监管系统",是全国首家投入应用的该类数字化监管系统,主要查验.跟踪外地入渝或过境动物及其产品,以及市内跨区县调种的动物. "运猪到重庆的屠宰场,要过三道'关'.&

PostgreSQL 流式统计 - insert on conflict 实现 流式 UV(distinct), min, max, avg, sum, count ...

标签 PostgreSQL , 流式统计 , insert on conflict , count , avg , min , max , sum 背景 流式统计count, avg, min, max, sum等是一个比较有意思的场景,可用于实时大屏,实时绘制统计图表. 比如菜鸟.淘宝.阿里游戏.以及其他业务系统的FEED日志,按各个维度实时统计输出结果.(实时FEED统计,实时各维度在线人数等) PostgreSQL insert on conflict语法以及rule, trigger的功

DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考

之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题.后来找到了自己认为比较合理的解决方案,分享给大家.也希望能和大家交流,擦出更多的火花. 论坛核心领域问题分析 论坛领域的核心概念是:帖子.回复.大家都知道,一个帖子可以有零个或多个回复.对同一个帖子,不同的人可以并行发表回复.回复发表后,查看帖子详情时,可以根据回复的发表时间排序显示:此外,我们还关心某个帖子的最新发表的回复.最新回复的作者.最新回复时间,以及总回复数. 我们设计的系统,应该在实现

高密度环境下行人检测和统计

好文要转! 实验程序视频 下载 1 问题描述   高密度环境下的行人统计一直没有得到很好的解决,主要原因是对高密度人群中的行人检测和跟踪是一个很难的问题,如下图所示环境,存在的困难包括: 检测方面: 由于人群整体处于运动状态,占据了背景的60%以上的面积,导致许多目标检测的方法,如基于背景差的运动目标检测.分割方法难以奏效.另外,由于人群存在大量遮挡,导致基于行人轮廓的检测方法,如HOG也难以奏效. 跟踪方面: 高密度环境中的多目标跟踪,由于存在大量的遮挡.合并.分离,实现准确的跟踪是一个富有挑

oracle 统计销售员销售业绩的sql(级联累加)

问题描述 oracle 统计销售员销售业绩的sql(级联累加) 销售员表 id name 销售额(万) 上级id 1 A 10 2 B 10 1 3 C 10 2 4 D 10 2 5 E 10 6 F 10 5 最后实现的结果是 id为1 的 总销售额是 40万 2的销售额 是30 万 3 的销售额10万 5的销售额是10 20万 ..... 就是从树的叶子开始依次将子节点的值加到父节点上 解决方案 create table xx_sale ( id number primary key, n

命令行下Apache日志统计举例

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/1414820 Apache日志统计举例 加些来了解一下如何统计Apache的访问日志,一般可以用tail命令来实时查看日志文件变化,但是各种的应用系统中的日志会非常复杂,一堆长度超过你浏览极限的日志出现在你眼前时,你会觉得非常无奈,怎么办呢?这时可以用grep.sed.awk和sort等筛选工具帮助你解决这个问题.