单词数

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



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

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

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

Sample Input
you are my friend #
 

Sample Output
4

 

#include <iostream>
#include <string>
#include <set>

using namespace std;
const int max = 10001;

int main()
{
    string line,str;
    set<string> a;
    while (getline(cin , line) && line != "#")
    {    
        a.clear();
        for (int i = 0; i < line.size(); i++)
        {
            str = "";
            while (i < line.size() && line[i] >= 'a' && line[i] <= 'z')
            {
                str += line[i];
                i++;
            }
            if (str!="")
                a.insert(str);
        }
        cout << a.size() << endl;
    }

    return 0;
}