HDU1251-统计难题-map+输入
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.
注意:本题只有一组测试数据,处理到文件结束.
Output对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input
banana
band
bee
absolute
acm ba
b
band
abc
Sample Output
2
3
1
0 题意: 输入以该字符串为前缀的单词的数量。 注意输入:
scanf 以空格、换行符结束输入;
scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)
gets 是读取换行符的,不过它会把换行符转换为'\0'
gets读入以任何字符开始的字符串,以换行符结束,但之后会丢弃换行符并以'\0'代替;
在数据大量的情况下,用gets读取快于scanf()10倍以上
scanf不能接受空格、制表符Tab、回车等;
而gets能够接受空格、制表符Tab和回车等。将接收输入的整个字符串直到遇到换行为止。
#include<stdio.h>
#include<map>
#include<iostream>
#include<string.h>
using namespace std;
typedef long long ll;
const int x=;
const int N=1e6+;
ll book[N]; map<string,ll>mp;
char a[]; int main()
{
//string a;
while()
{
// cin>>a;
gets(a);
// if(a[0]=='\0')
// break;
int len=strlen(a);
if(len==)
break;
string s;
s.clear();
for(int i=;i<len;i++)
{
// sum=sum*x+a[i];
s+=a[i];
mp[s]++;
}
} while(cin>>a)
cout<<mp[a]<<endl;
return ;
}
HDU1251-统计难题-map+输入的更多相关文章
- HDU1251 统计难题[map的应用][Trie树]
		一.题意 给出一组单词,另给出一组单词用作查询,求解对于每个用于查询的单词,前一组中有多少个单词以其为前缀. 二.分析 根据题目很容易想到hash的方法,首先可以朴素的考虑将第一组中的所有单词的前缀利 ... 
- HDU-1251 统计难题,字典树或者map!
		统计难题 很久就看过这个题了,但不会~~~不会~~ 题意:给出一张单词表,然后下面有若干查询,每次给出一个单词,问单词表中是否存在以这个单词为前缀的单词,输出数量.本身也是自身的前缀.只有一组数据! ... 
- HDU1251 统计难题(Trie)
		统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Subm ... 
- hdu1251(统计难题)
		这题就是一个字典树的模板题 统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Othe ... 
- HDU-1251 统计难题(我就是不用字典树)
		统计难题 ?戳这里可以前往原题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为 ... 
- hdu1251 统计难题
		地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1251 题目: 统计难题 Time Limit: 4000/2000 MS (Java/Othe ... 
- HDU1251统计难题(水字典树)
		统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Subm ... 
- hdu1251统计难题(trie)
		统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ... 
- HDU1251 统计难题 【trie树】
		统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Subm ... 
- HDU1251 统计难题(字典树|map
		Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分 ... 
随机推荐
- 【翻译】Knowledge-Aware Natural Language Understanding(摘要及目录)
			翻译Pradeep Dasigi的一篇长文 Knowledge-Aware Natural Language Understanding 基于知识感知的自然语言理解 摘要 Natural Langua ... 
- spring data jpa Specification动态查询
			package com.ytkj.entity; import javax.persistence.*; import java.io.Serializable; /** * @Entity * 作用 ... 
- CentOS7下Docker与.net Core 2.2
			一.使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 una ... 
- python3 requests库学习笔记(MOOC网)
			奏:HTTP协议对资源的操作 方法说明:GET 请求获取URL位置的资源HEAD 请求获取URL位置资源的响应消息报告,即获得该资源的头部信息POST 请求向URL位置的资源后附加新的数据PUT 请求 ... 
- 最新版的node安装和配置注意事项
			node在安装的时候,如果你不想用默认的安装路径,可以自定义路径进行安装,例如我的安装路径如下:F:\Program Files\nodejs 安装完成后,要对node进行配置: 在F:\Progra ... 
- getopts的执行过程
- ARM指令adr adrl ldr mov
			ADR是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中.格式:ADR register,exper. 编译源程序时,汇编器首先计算当前PC值(当前指令位置)到exper的距 ... 
- 命令分析nginx访问日志的用法
			awk分析日志常用高级使用命令方法 分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request&qu ... 
- 何时使用move
			https://zhidao.baidu.com/question/1514190267640555740.html 但编译器有copy elision优化,相当于原地构造,效率要高于move,手动指 ... 
- map hashmap的使用
			package map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * Map的实现 ... 
