单词数

单词数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 32836    Accepted Submission(s): 7745

Problem Description

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

Input

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

Output

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

Sample Input

you are my friend
#

Sample Output

4

Author

Lily

Source

浙江工业大学网络选拔赛

当时测试时,怎么都不对,非常纳闷,最后才知道,应该用gets()。。。这就是好久没有刷题的过错。。。

#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
int main()
{
    char a[1000];
    string b[1000];
    int i;
    while(gets(a))
    {
        int k=0;
        if(strcmp(a,"#")==0)
            break;
        else
        {
            char *p;
            p=strtok(a," ");
            while(p)         //you are my friend
            {
               b[k++]=p;
               p=strtok(NULL," ");
            }
            sort(b,b+k); //aaaabbc
            int count=0;//abc
            for(i=0;i<k;i++)
            {
                while(i<k-1 && b[i]==b[i+1])
                {
                     i++;
                }
                count++;
            }
            cout<<count<<endl;
        }
    }
    return 0;
}
时间: 2024-10-17 19:01:48

单词数的相关文章

zzuli oj 1178 单词数

Description 统计一篇文章里不同单词的总数. Input 有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数. Sample Input you are my friend # Sample Output 4 第一次写的时候没看清题  (不同单词)   导致WA了一发·· 思路理清楚后也不是什么难题,用二维数组来记录一行句子中的各个单词,每个

hdu 2072单词数

单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28671    Accepted Submission(s): 6877 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Inp

HDOJ——2072单词数

SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数) sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 例子:   1. 常见用法. char buf[512] ; sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中! printf("%s\n", buf); 结果为:12

统计单词数

1.首先新建两个文件夹: 往文件夹添加内容: 2.启动hadoop-查看是否启动成功. 3.先对nameNode进行初始化. 4.查看hadoop下面有哪些文件. 5.在hadoop目录下创建input文件. 6.拷贝文件到hadoop目录下. 7.执行统计的单词数. 8.对结果进行查看. 9.也可以在浏览器进行查看. 输入:http://localhost:50070 10.关闭hadoop.

【字符串处理】codevs 1131 统计单词数

131 统计单词数 2011年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现 在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求 完全匹配,即给定单词必须与文章中的某一独立单词在不区分大

杭电2072 统计单词数

http://acm.hdu.edu.cn/showproblem.php?pid=2072 用set容器来统计单词数,可以排除相同的单词. #include<iostream>#include<set>#include<string>using namespace std; int main(){ string String,str; set<string> s; int i = 0; bool flag; while(getline(cin,str) &

编译器DIY之———统计英文文本中的单词数,字符数和行数

咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用. 在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的.可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题就Over 了. 环境:ubuntu(当然装了flex的windows和mac也可以) 原码: %{

HDU 2072.单词数【STL的优势以及字符串流的使用】【8月4】

单词数 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数. Sample Input you are my friend # Sample

中文分词--最少单词数

中文分词算法在前两篇文章中介绍了正向最大匹配算法和逆向最大匹配算法 本篇文章主要介绍最少单词数算法.顾名思义,就是最少的单词数. 算法思想是首先查找词典中最长的单词,匹配看是不是所要分词的字符串的子串,如果是则就是分词的词,迭代以上结果,每次都会在字符串中最长的单词分词,就可以得到最少的单词数 不多说了 直接上代码: package com; import java.util.ArrayList; import java.util.List; public class Segmentation2