【HUD2072】单词数(字典树-统计一句话中不同单词的个数)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2072

单词数


Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 77401    Accepted Submission(s): 19552

Problem Description

lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

Input

有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。

Output

每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

Sample Input

you are my friend #

Sample Output

4

解题思路:


(水题)建立字典树,对于单词节点,只统计一次,总的单词节点数目即为答案

(;´༎ຶД༎ຶ`)这道题数组开到1E4就能过。。不然MLE枯了

 

ac代码:


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
typedef long long ll;
const int maxn=1e4;
using namespace std;
int tot=0,ans=0;//总节点数
int tree[maxn][30],vis[maxn];
string s,s1;
void build(string s)
{
    int root=0,len=s.length();
    for(int i=0;i>s1)
                build(s1);
            printf("%d\n",ans);
            ss.clear();
        }
    }
    return 0;
}

 

你可能感兴趣的:(字典树)