• HDU 2072 单词数


    单词数

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


    Problem Description
    lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
     
    Input
    有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
     
    Output
    每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
     
    Sample Input
    you are my friend #
     
    Sample Output
    4
     
    Author
    Lily
     
    Source
     
    Recommend
    linle   |   We have carefully selected several similar problems for you:  2054 2073 2083 2076 2068 
     
    用map记录每次空格前的部分即可,要注意开头空格,结尾空格和多个空格相连的情况
    记录的时候用map<string,int>而不能用map<char*,int>      char*始终是一个指针保存的是地址值
    而不是字符串
    代码如下:
     
    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <map>
    #include <algorithm>
    using namespace std;
    #define INF 0x3f3f3f3f
    char str[1000000];
    map<string,int>mp;
    char tmp[10000];
    int main()
    {
        int l,ans,len;
        while(gets(str))
        {
            ans=0;
            mp.clear();
          if(str[0]=='#')break;
          len=strlen(str);
          str[len]=' ';
          len++;
          str[len]=0;
          l=0;
            for(int i=0;i<len;i++)
            {
              if(str[i]!=' ')
              {
                 tmp[l]=str[i];
                 l++;
              }
              else
              {
                 tmp[l]=0;
                 if(l>0){
                 if(!mp[tmp])
                 {
                     ans++;
                     mp[tmp]=1;
                 }
                 }
                 l=0;
              }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    ans_rproxy 说明
    ubuntu adduser
    linux 修改 elf 文件的dynamic linker 和 rpath
    What Is The Promiscuous Mode
    gpart 分区工具
    TortoiseSVN的基本使用方法
    svn和git的区别及适用场景
    TortoiseSVN 和 VisualSVN Server 使用教程
    SVN中trunk、branches、tag的使用
    C/C++中substr函数的应用(简单讲解)
  • 原文地址:https://www.cnblogs.com/a249189046/p/7490329.html
Copyright © 2020-2023  润新知