Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).

Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.

注意:本题只有一组测试数据,处理到文件结束.
Output对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input

  1. banana
  2. band
  3. bee
  4. absolute
  5. acm
  6.  
  7. ba
  8. b
  9. band
  10. abc

Sample Output

  1. 2
  2. 3
  3. 1
  4. 0
  5.  
  6. 题意:
  7.  
  8. 输入以该字符串为前缀的单词的数量。
  9.  
  10. 注意输入:

scanf 以空格、换行符结束输入;

scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)

gets 是读取换行符的,不过它会把换行符转换为'\0'

gets读入以任何字符开始的字符串,以换行符结束,但之后会丢弃换行符并以'\0'代替;

在数据大量的情况下,用gets读取快于scanf()10倍以上

scanf不能接受空格、制表符Tab、回车等;

而gets能够接受空格、制表符Tab和回车等。将接收输入的整个字符串直到遇到换行为止。

  1. #include<stdio.h>
  2. #include<map>
  3. #include<iostream>
  4. #include<string.h>
  5. using namespace std;
  6. typedef long long ll;
  7. const int x=;
  8. const int N=1e6+;
  9. ll book[N];
  10.  
  11. map<string,ll>mp;
  12. char a[];
  13.  
  14. int main()
  15. {
  16. //string a;
  17. while()
  18. {
  19. // cin>>a;
  20. gets(a);
  21. // if(a[0]=='\0')
  22. // break;
  23. int len=strlen(a);
  24. if(len==)
  25. break;
  26. string s;
  27. s.clear();
  28. for(int i=;i<len;i++)
  29. {
  30. // sum=sum*x+a[i];
  31. s+=a[i];
  32. mp[s]++;
  33. }
  34. }
  35.  
  36. while(cin>>a)
  37. cout<<mp[a]<<endl;
  38. return ;
  39. }

HDU1251-统计难题-map+输入的更多相关文章

  1. HDU1251 统计难题[map的应用][Trie树]

    一.题意 给出一组单词,另给出一组单词用作查询,求解对于每个用于查询的单词,前一组中有多少个单词以其为前缀. 二.分析 根据题目很容易想到hash的方法,首先可以朴素的考虑将第一组中的所有单词的前缀利 ...

  2. HDU-1251 统计难题,字典树或者map!

    统计难题 很久就看过这个题了,但不会~~~不会~~ 题意:给出一张单词表,然后下面有若干查询,每次给出一个单词,问单词表中是否存在以这个单词为前缀的单词,输出数量.本身也是自身的前缀.只有一组数据! ...

  3. HDU1251 统计难题(Trie)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Subm ...

  4. hdu1251(统计难题)

    这题就是一个字典树的模板题 统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Othe ...

  5. HDU-1251 统计难题(我就是不用字典树)

    统计难题 ?戳这里可以前往原题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为 ...

  6. hdu1251 统计难题

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1251 题目: 统计难题 Time Limit: 4000/2000 MS (Java/Othe ...

  7. HDU1251统计难题(水字典树)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Subm ...

  8. hdu1251统计难题(trie)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  9. HDU1251 统计难题 【trie树】

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Subm ...

  10. HDU1251 统计难题(字典树|map

    Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分 ...

随机推荐

  1. 用 Flask 来写个轻博客 (29) — 使用 Flask-Admin 实现后台管理 SQLAlchemy

    目录 目录 前文列表 扩展阅读 Flask-Admin BaseView 基础管理页面 ModelView 实现效果 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写 ...

  2. WPF自定义控件(三)

    今天我们开始制作我们的按钮,主要的效果就是一个按钮正常状态.鼠标滑过.按下三态显示不同的图片. 首先我们需要给扩展按钮添加三个属性,分别是正常状态图片,鼠标滑过图片,按钮按下图片. 先贴出Button ...

  3. Scrum 指南总结

    https://wenku.baidu.com/view/86e0979176eeaeaad1f3305a.html 原文地址:

  4. spring data jpa 一对多查询

    在一对多关系中,我们习惯把一的一方称之为主表,把多的一方称之为从表.在数据库中建立一对多的关系,需要使用数据库的外键约束. 什么是外键? 指的是从表中有一列,取值参照主表的主键,这一列就是外键. pa ...

  5. web自动化,selenium 无法清空输入框默认值继续输入

    有的页面输入框自带默认值,想要修改里面的内容时,先使用clear()再send_keys(),这种方式无法清除只会在默认值后面追加内容,不是我想要的结果 解决方法: 方法一: 先双击,后直接send_ ...

  6. shell脚本对代码执行时间的计时

    时间秒: $(date +%s) 算数表达式: $(($cost_time/60)) $(($cost_time%60)) #!/bin/bash # ccache is from epel mirr ...

  7. go递归遍历文件目录

    package main import ( "fmt" "io/ioutil" "log" ) //文件目录树形结构节点 type dirT ...

  8. PHP多选测试练习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. win10下logstash导入csv

    input { file { path => ["E:/222/*.csv"] start_position => "beginning" } } ...

  10. 【转】SQLSERVER磁盘原理

    [声明:本篇博客转载自http://www.cnblogs.com/ljhdo/p/5149401.html] 最近一段时间的工作主要是与SQLSERVER数据库打交道,需要对SQLSERVER有一个 ...