HDU 2072 单词数

来源:互联网 发布:php 编译 mysqli 编辑:程序博客网 时间:2024/05/01 06:23

Description

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

Input

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

Output

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

Sample Input

you are my friend
#

Sample Output

4

///@zhangxiaoyu///2015/7/27///这道题可以用字典树解,但是因为按行输入,顾暴力一次过#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<algorithm>#include<cmath>#include<vector>#include<stack>#include<map>#include<queue>#include<iostream>using namespace std;char ss[100000];char pp[100000][20];int main(){    while(fgets(ss,sizeof(ss),stdin))    {        int sum=0;        if(ss[0]=='#')break;        int k=0;        int j=1;        int len=strlen(ss);        for(int i=0;i<len;i+=j)        {            j=1;            int cnt=0;            if(ss[i]>='a'&&ss[i]<='z')            {                char temp[20]={'0'};                for(j=i;ss[j]>='a'&&ss[j]<='z';j++)                {                   temp[cnt++]=ss[j];                }                j-=i;                strcpy(pp[k++],temp);            }            else                continue;        }        for(int i=0;i<k;i++)        {            bool flag=true;            for(j=0;j<i;j++)            {                if(strcmp(pp[i],pp[j])==0)                {                    flag=false;                    break;                }            }            if(flag)                sum++;        }        printf("%d\n",sum);    }    return 0;}
0 0
原创粉丝点击