hdu2072 单词数(字典树)

来源:互联网 发布:淘宝350装修模板 编辑:程序博客网 时间:2024/06/06 03:10

这题因为输入WA了N次,全是泪。


注意字符串前面有空格的情况,输入方法还是看的别人的。

最重要的一点,这题只是通过统计某单词是否出现来统计不同单词字数,切记要把p -> sum ++;放在外面,放在里面就不行。理论上来说也可以啊,最底层的字母sum都是0,可是就是WA,实在没辙,放for外面好了。


#include <stdio.h>#include <algorithm>#include <stdlib.h>#include <string.h>#include <iostream>using namespace std;typedef long long LL;const int N = 1000005;const int INF = 1e8;struct Trie{    int sum;    Trie *next[26];    Trie()    {        sum = 0;        for(int i = 0; i < 26; i ++)            next[i] = 0;    }}*root;int ans;void inserttrie(Trie *p, char *str){    int k = 0;    while(str[k] != '\0')    {        int id = str[k] - 'a';        if(p -> next[id] == 0)        {            p -> next[id] = new Trie;        }        p = p -> next[id];        k ++;    }    if(p -> sum == 0) ans ++;    p -> sum ++;//该单词是否出现过,注意放在外面}void Free(Trie *p){    for(int i = 0; i < 26; i ++)        if(p -> next[i]) Free(p -> next[i]);    if(p) delete p;}int main(){   // freopen("in.txt", "r", stdin);    char s[N], s0[1005];    while(gets(s))    {        ans = 0;        root = new Trie;        if(s[0] == '#') break;        int len = strlen(s);        int j = 0;        for(int i = 0; i < len; i ++)        {            while(s[i ++] == ' '); i --;            if(i >= len) break;            int j = 0;            while(s[i] != ' ' && i < len)                s0[j ++] = s[i ++];            s0[j] = '\0';            inserttrie(root, s0);        }        printf("%d\n", ans);        Free(root);    }    return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子晚上睡得晚怎么办 在深圳买房难小孩读书怎么办 上海小孩读书积分不够怎么办 读书时静不下心怎么办 初中生静不下心读书怎么办 孩子学习静不下心怎么办 退烧后体温35度怎么办 孩子体温34度多怎么办 宝宝感冒咳嗽流鼻涕出汗怎么办 养的小鸡总打架怎么办 小鸡一条腿瘸了怎么办 同窝小斗鸡打架怎么办 夏季羊长的慢怎么办 1岁吃母乳不吃饭怎么办 5个月宝宝黏妈妈怎么办 九个月宝宝不爱吃饭怎么办 20个月宝宝吐了怎么办 十个月的宝宝消化不好怎么办 两岁宝宝不爱喝水怎么办 两岁宝宝不爱喝水吃饭怎么办 两岁的宝宝不爱喝水怎么办 宝宝不爱吃饭不爱喝水怎么办 一多半宝宝爱喝水 不爱吃饭怎么办 1岁宝宝不爱吃饭喝水怎么办 两岁小宝宝不爱吃饭怎么办 4个月小宝宝咳嗽怎么办 3个月小宝宝咳嗽怎么办 2个月小宝宝咳嗽怎么办 8的岁儿童腿不直怎么办 作业盒子选错年级怎么办 两岁x型腿怎么办 绿萝叶子有水滴怎么办 打游戏变菜了怎么办 车被记号笔画了怎么办 水溶性彩铅受潮了怎么办 马克笔颜色涂深了怎么办 染发膏染眉毛了怎么办 用电容笔画画手有触感怎么办 CAD画图线性数字不居中怎么办 3d立体画笔堵塞怎么办 龋齿树脂填充老化后怎么办