码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1251 统计难题

时间:2014-07-19 08:26:00      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   art   io   for   

用到tire树;

基础应用

 这里讲的挺详细的 点击打开链接

#include<cstdio>
#include<cstring>
#include<iostream>
#define max 20
using namespace std;
char  w[6];
struct node{
    bool a;
    int chile[26];
    int q;//前缀出现次数
    node(){
        q=false;
        q=0;
        memset(chile,0,sizeof(chile));
    }
}t[500000];

int sz=1;
void insert(char *w)
{
    int len=strlen(w);
    int s=0;
    for(int i=0;i<len;i++)
    {
        int y=w[i]-'a';
        if(t[s].chile[y]==0)
        {
            t[s].chile[y]=sz++;
        }
        s=t[s].chile[y];//下一个结点
        t[s].q++;
    }
    t[s].a=1;
}

int show(char *w)
{
    int len=strlen(w);
    int s=0;
    for(int i=0;i<len;i++)
    {
        int y=w[i]-'a';
        if(t[s].chile[y]==0)
            return 0;
        s=t[s].chile[y];
    }
    return t[s].q;
}
int main()
{
    char s[50];
    while(gets(s))
    {
        int len=strlen(s);
        if(len==0) break;
        insert(s);
    }
    while(gets(s))
    {
        printf("%d\n",show(s));
    }
    return 0;
}


hdu 1251 统计难题,布布扣,bubuko.com

hdu 1251 统计难题

标签:blog   http   os   art   io   for   

原文地址:http://blog.csdn.net/asuxiexie/article/details/37931359

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!