字符串出现最大次数

来源:互联网 发布:nat端口复用 编辑:程序博客网 时间:2024/06/05 19:18

动物统计

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

      在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。

输入
第一行输入动物名字的数量N(1<= N <= 10000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据)。
输出
输出这些动物中最多的动物的名字与数量,并用空格隔开(数据保证最多的动物不会出现两种以上)。
样例输入
10boarpigsheepgazellesheepsheepalpacaalpacamarmotmole
样例输出
sheep 3
这样的题见过一次,说的是ICPC用的气球颜色数量最多的一种统计出来,上一次不会做,这一次必须会做。
代码中的maxx在每一次循环都会记录,记录当前最大值,
#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>using namespace std;struct A{    char s[10];} a[10005];bool cmp(A m,A n){    return strcmp(m.s,n.s)<=0;}int main(){    int n;    while(~scanf("%d",&n))    {        for(int i=0; i<n; i++)            scanf("%s",a[i].s);        sort(a,a+n,cmp);        int maxx=-1;        char str[10];        int count=0;        for(int i=0; i<n-1; i++)        {            if(strcmp(a[i+1].s,a[i].s)==0)                count++;            else                count=1;            if(count>maxx)            {                maxx=count;                strcpy(str,a[i].s);            }        }        printf("%s %d\n",str,maxx);    }    return 0;}


来源
张云聪 陈玉【原创】
上传者
陈玉
0 0
原创粉丝点击