首页 > 其他分享 >杭电OJ 2072-单词数

杭电OJ 2072-单词数

时间:2024-03-18 17:26:19浏览次数:27  
标签:单词 OJ int str2 杭电 str myMap 2072 include

单词数

因为新学了散列表容器map,这道题只用统计不同单词的总数,用映射再统计个数蛮合适,学以致用doge,需要注意文章开头可能有空格,最后要把空格这一映射减掉。

AC代码:

#include <iostream>
#include <cstdio>
#include <map>
#include <string>

using namespace std;

map<string, int> myMap;

int main() {
    string str;
    while(getline(cin, str)) {
        if(str == "#")
            break;
        int j = 0;
        map<string, int>::iterator it;
        for(int i = 0; i < str.size(); i = j+1) {
            j = str.find(" ", i);
            string str2;
            if(j >= 0) {
                str2 = str.substr(i, j-i);
            } else {
                str2 = str.substr(i);
                j = str.size();
            }
            it = myMap.find(str2);
            if(it == myMap.end()) {
                myMap.insert(pair<string, int>(str2, 1));
            }
        }
        int answer = myMap.size();
        if(myMap[""] != 0) {
            answer--;
        }
        cout << answer << endl;
        myMap.clear();
    }
    return 0;
}

标签:单词,OJ,int,str2,杭电,str,myMap,2072,include
From: https://www.cnblogs.com/paopaotangzu/p/18080970

相关文章

  • pyCharm oj 习题 列表合并、去重、排序
    列表合并、去重、排序ProblemDescription从键盘输入两个数列,构成两个列表list1、list2,合并这两个列表为list3,将list3去掉重复元素、降序排序后生成list4.InputDescription输入两个数列,以英文逗号分隔OutputDescription输出列表list1、list2、list3、list4SampleInpu......
  • [bzoj2120]数颜色/维护队列 (分块)
    数颜色/维护队列[做题笔记]此生第一道不贺题解\(AC\)的分块蓝题!!!题目描述墨墨@hs_mo购买了一套\(N\)支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:\(Q\L\R\)代表询问你从第\(L\)支画笔到第\(R\)支画笔中共有几种不同颜色的......
  • LibreOJ 3591 「USACO 2018.02 Platinum」Cow Gymnasts
    以\(0\)为初始下标。考虑到这个平台之间的转移不是很好处理,于是考虑换个角度,考虑每个高度。这里定义高度为\(i\)的奶牛就是下一次操作要走\(i\)步的奶牛。然后考虑去分析合法序列的性质。性质\(1\):高度为\(x\)的奶牛在移动后的高度依然为\(x\),即这个过程可以看作每......
  • LibreOJ 4114 「联合省选 2024」迷宫守卫
    因为最后的比较方式是字典序,可以明确肯定是贪心的先让第一个数尽量大,然后是第二个数尽量大,以此类推。考虑到如果选出了第一个数,那么按照其\(\text{dfs}\)的方式,相当于是把根到这个树的链删掉了,变成了许多颗子树,然后在按照\(\text{dfs}\)遍历这几个子树的顺序依次在子树中类似......
  • 网络流建模之拆点,原理详解,OJ练习
    一、网络流建模之拆点1.1问题引入现有工厂s,仓库t,中转站若干,s到中转站有若干道路,中转站到仓库有道路若干,工厂要向仓库运输一定的货物,每条道路都有最大运输量限制,问最大运货量。1.2转化为网络流问题显然上述问题我们可以轻松的建模转化为网络流问题该流网络的最大流就......
  • csproj技巧
    1、在项目中我们经常写string?Message{get;set;}明明是引用类型,它底下还是会出现波浪线,我们可以打开csproj找到Nullable将它改为disable,或者删除,它默认是disable<Nullable>disable</Nullable>2、我们的WPF中可能会使用到Winform的类库,添加UseWindowsForms,一定要写在UseWPF......
  • javabean:VO和POJO的区别?
    实体类都是JavaBean的一种 实际上没区别 功能都一样 使用的时候区别(VO一般在命名结尾有大写VO 以做区别)参考:https://blog.csdn.net/huang_ftpjh/article/details/90232922关于java的几种对象(PO,VO,DAO,BO,POJO,DTO)解释摘抄参考2:https://blog.csdn.net/weixin_6938139......
  • 55 人见人爱A-B 东华oj
    1.问题描述A和B是两个集合,A-B求的是两个集合的差,就是做集合的减法运算。2.输入说明输入数据包含T个测试实例。首先输入数字T,然后输入T组测试数据,每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)和m(0<=m<=100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素......
  • HDOJ 2037
    今年暑假不ACProblemDescription“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%…”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看......
  • 【OJ】K 个一组翻转链表
    题目基本思路:用计数+栈实现分段,K个一组地翻转链表。#include<bits/stdc++.h>#include<stack>usingnamespacestd;structlist_node{intval;structlist_node*next;};list_node*input_list(){intval,n;scanf("%d",&n);list_node*phea......