COGS 788. 昵称

788. 昵称

★☆   输入文件:nickname.in   输出文件:nickname.out   简单对比
时间限制:1 s   内存限制:128 MB

【问题描述】

ZSUQ送信者与腾讯QQ相似。每个用户需要为自己起一个昵称。不同的用户有不同的昵称。一些普通的名字像“Tom”、“Marry”和“Kate”会经常被用到。最近的一次调查中,ZSUQ公司发现有超过5000个独特的昵称正在被使用。
作为一个ZSUQ公司的成员,你需要写一个报告,每一个昵称有多少个用户。你用于一个所有用户昵称的完整清单。注意昵称是不分大小写的。

【输入格式】

文件第一行包括所有整形数据表示测试数据的个数。
在每组测试数据中,第一行有一个整数N(0<n≤100000),下面n行描述n个用户的昵称。每个昵称不超过100个字符。两个测试数据之间有空行。< p="">

【输出格式】

对于每组测试数据,给出一个独特昵称的清单。每一行,后面有一个空格,数字表示有这个昵称的用户个数。名称按字母序,每一行的开头或结尾没有空格。昵称都是小写字母,每两组数据间有空行。

【输入样例】

输入文件名: nickname.in



carp 
inkfish 
peipei 
carp

输出文件名: nickname.out

carp 2 
inkfish 1 
peipei 1

trie树模版

屠龙宝刀点击就送

#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
struct node
{
    int pos;
    node * next[30];
}*root;
struct nicheng
{
    char nc[205];
    int num;
    bool operator<(nicheng a)const
    {
        int l=0;while(nc[l]==a.nc[l]) l++;
        return nc[l]<a.nc[l];
    }
}yh[100005];
node *create()
{
    node *rt=new node;
    rt->pos=0;
    memset(rt->next,0,sizeof(rt->next));
    return rt;
}
int T;
void ins(int po,char *a)
{
    char *q=a;
    node *p=root;
    while(*q)
    {
        int id=*q-‘a‘+1;
        if(p->next[id]==NULL) p->next[id]=create();
        p=p->next[id];
        q++;
    }
    p->pos=po;
}
int search(char *a)
{
    char *q=a;
    node * p=root;
    while(*q)
    {
        int id=*q-‘a‘+1;
        if(p->next[id]==NULL) return 0;
        p=p->next[id];
        q++;
    }
    return p->pos;
}
int main()
{
    freopen("nickname.in","r",stdin);
    freopen("nickname.out","w",stdout);
    scanf("%d",&T);
    for(int n;T--;)
    {
        scanf("%d",&n);
        int tot=0;root=create();memset(yh,0,sizeof(yh));
        for(int i=1;i<=n;i++)
        {
            scanf("%s",yh[++tot].nc);
            for(int i=0;i<strlen(yh[tot].nc);i++) if(‘A‘<=yh[tot].nc[i]&&yh[tot].nc[i]<=‘Z‘) yh[tot].nc[i]+=32;
            int pos=search(yh[tot].nc);
            if(!pos)
            {
                ins(tot,yh[tot].nc);
                yh[tot].num=1;
            }
            else yh[pos].num++,--tot;
        }
        sort(yh+1,yh+1+tot);
        for(int i=1;i<=tot;i++)
            printf("%s %d\n",yh[i].nc,yh[i].num);
    }
    return 0;
}
时间: 2024-11-05 13:40:42

COGS 788. 昵称的相关文章

COGS基本法初稿

COGS基本法 序言 我们COGS人民,为建立更完善的联盟,树立正义,保障网络安宁,提供公共OJ,杜绝极少数恐怖分子对我OJ的破坏行为,并使我们自己和OIER得享自由的幸福,特为COGS制定本基本法. 第一条权利机构 权利机构由老常为领导核心的第一代领导集体及COGS QQ群的元老组成,COGS的权力机构为君主立宪制,其中老常为世袭君主,议会由首相刘易铖,长老王梦迪,内阁大臣张灵犀,外交大臣张子昂.国家工程师李冬麟组成.首相.内阁大臣.外交大臣必须由河南省实验中学有着良好素质和学习水平的学生组成

COGS——T 2739. 凯伦和咖啡

http://www.cogs.pro/cogs/problem/problem.php?pid=2739 ★★☆   输入文件:coffee.in   输出文件:coffee.out   简单对比时间限制:1 s   内存限制:512 MB [题目描述] 为了在上课时保持清醒,凯伦需要一些咖啡.咖啡爱好者凯伦想知道最佳的温度来冲煮完美的咖啡.因此,她花了一些时间阅读几本食谱,其中包括广受好评的“咖啡的艺术”. 她知道有n个食谱,其中第i个食谱建议应当在li和ri度之间冲煮以达到最佳的味道.凯伦

COGS——T 8. 备用交换机

http://www.cogs.pro/cogs/problem/problem.php?pid=8 ★★   输入文件:gd.in   输出文件:gd.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间接与其它城市连接.因电子设备容易损坏,需给通讯点配备备用交换机.但备用交换机数量有限,不能全部配备,只能给部分重要城市配置.于是规定:如果某个城市由于交换机损坏,不仅本城市通讯中断,还造成其它城市通讯中断,则配

COGS——C2098. Asm.Def的病毒

http://www.cogs.pro/cogs/problem/problem.php?pid=2098 ★☆   输入文件:asm_virus.in   输出文件:asm_virus.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] “这就是我们最新研制的,世界上第一种可持久化动态计算机病毒,‘创世纪’.”方教授介绍道. “哦.”主席面无表情地点点头. “‘创世纪’无法真正杀死透明计算网络,但是可以把它变成傻子.可惜透明计算网络能轻松地辨认出病毒,所以我建议……

&lt;iOS小技巧&gt; 昵称格式判断

一.使用方式 + 如下代码块功能:判断字体,判断字体输入格式 NSString *firstStr = [name substringToIndex:1];    NSArray *num = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"];    i

新浪微博客户端(16)-获得并显示用户昵称

DJHomeViewController.m - (void)updateTitleViewDisplayName { AFHTTPSessionManager *requestManager = [AFHTTPSessionManager manager]; NSString *urlString = @"https://api.weibo.com/2/users/show.json"; DJAccount *account = [DJAccountTool account]; NS

QQ昵称控制软件更新

QQ昵称控制软件更新的代码,用起来很方便. #include <WINDOWS.H> #include <STDIO.H> #pragma comment(lib, "Wininet.lib") #include <wininet.h> int main() { HINTERNET hInternet=NULL; HINTERNET hConnect=NULL; char szText[512]={0}; char *szAccept="A

爬昵称网站昵称

项目需要继续爬点昵称~~~先上代码 #coding=utf-8 import urllib,urllib2 import re from bs4 import BeautifulSoup import time import sys reload(sys)   sys.setdefaultencoding('utf-8') #获取要下载图片的整个页面的信息 def getHtml(url):     page=urllib2.urlopen(url)     html=page.read()  

Xcode-push到远程仓库不能使用邮箱名,需使用昵称

1.Xcode-push到远程仓库不能使用邮箱 2.Xcode-push到远程仓库需使用昵称