• 23-单词数(HDU2070)


            单词数

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


    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:  2074 2054 2052 1251 2024 
    #include <bits/stdc++.h>
    using namespace std;
    set <string> myset;
    
    int main(){
    	string str;
    	while(getline(cin, str)){
    		myset.clear();
    		if(str[0] == '#')
    			break;
    		int len = str.length();
    		for(int i = 0; i < len; i++){
    			string ss = "####################################################################################";
    			int t = 0;
    			while(str[i] != ' ' && i < len){
    				ss[t++] = str[i++];
    			}
    			if(t)  //ss里面存了数据时才将ss插入到set 
    				myset.insert(ss);
    		}
    		cout << myset.size() << endl;
    	}
    	return 0;
    }
    
    #include <iostream>
    #include <sstream>
    #include <set>
    using namespace std;
    
    int main(){
    	set <string> myset; 
    	string str, t;
    	while(getline(cin, str) && str[0] != '#'){
    //		stringstream ss(str);
    		stringstream ss;
    		ss.str(str);
    		while(ss >> t){
    			myset.insert(t);
    		}
    		cout << myset.size() << endl;
    		myset.clear();
    	}
    	return 0;
    } 
    
    /*
    本题有两个注意点:就是只有ss里面存了新数据才插入到set;另一个则是对于string类型的重载的+是用于字符串间的,不能将
    字符直接相加,字符是只能是单个赋值,不能用+,但是当赋值时则需要要先保证字符串自身的长度,即需要初始化足够的长度才
    能赋值,否则会越界的!!! 
    /*
    1."              "
    0
    2."  asdf as a"
    3
    3."  asdf     asdf  ds"
    2
    4."asdf   asdf    "
    1
    5.直接输回车
    0
    */ 
    

      

  • 相关阅读:
    Android SQLite 简单使用演示样例
    经常使用排序算法实现[交换排序之冒泡排序、高速排序]
    Spring In Action读书笔记
    Linux 经常使用快捷键
    Android组件系列----ContentProvider内容提供者【1】
    Android Stuido 好卡怎么办?不要急,兄弟来教你
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记3 Xcode、Auto Layout及MVC
    JAVA学习第四十五课 — 其它对象API(一)System、Runtime、Math类
    hdu 5073 Galaxy
    从设计稿到demo
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/8628439.html
Copyright © 2020-2023  润新知