hdu 4287Intelligent IME(简单hash)
Intelligent IME
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1810 Accepted Submission(s): 897
2 : a, b, c 3 : d, e, f 4 : g, h, i 5 : j, k, l 6 : m, n, o
7 : p, q, r, s 8 : t, u, v 9 : w, x, y, z
When we want to input the word “wing”, we press the button 9, 4, 6, 4, then the input method will choose from an embedded dictionary, all words matching the input number sequence, such as “wing”, “whoi”, “zhog”. Here comes our question, given a dictionary, how many words in it match some input number sequences?
Two integer N (1 <= N <= 5000), M (1 <= M <= 5000), indicating the number of input number sequences and the number of words in the dictionary, respectively. Then comes N lines, each line contains a number sequence, consisting of no more than 6 digits. Then comes M lines, each line contains a letter string, consisting of no more than 6 lower letters. It is guaranteed that there are neither duplicated number sequences nor duplicated words.
3 5
46
64448
74
go
in
night
might
gn
2
0
题目意思就不多说了,将下面的字符串hash映射到上面的数字上即可。
#include<iostream>
#include<cstring>
using namespace std;
int hash1[1000005];
int a[5005];
char b[5005][8]; int cal(char *s)
{
int tmp=0;
int len=strlen(s),i;
for(i=0;i<len;i++)
{
if(s[i]>='a'&&s[i]<='c') tmp=tmp*10+2;
else if(s[i]>='d'&&s[i]<='f') tmp=tmp*10+3;
else if(s[i]>='g'&&s[i]<='i') tmp=tmp*10+4;
else if(s[i]>='j'&&s[i]<='l') tmp=tmp*10+5;
else if(s[i]>='m'&&s[i]<='o') tmp=tmp*10+6;
else if(s[i]>='p'&&s[i]<='s') tmp=tmp*10+7;
else if(s[i]>='t'&&s[i]<='v') tmp=tmp*10+8;
else if(s[i]>='w'&&s[i]<='z') tmp=tmp*10+9;
}
return tmp;
} int main()
{
int tes,i;
cin>>tes;
while(tes--)
{
int n,m;
cin>>n>>m;
for(i=0;i<n;i++)
cin>>a[i]; //存放数字
for(i=0;i<m;i++)
cin>>b[i];
memset(hash1,0,sizeof(hash1));
for(i=0;i<m;i++)
hash1[cal(b[i])]++;
for(i=0;i<n;i++)
cout<<hash1[a[i]]<<endl;
}
return 0;
} //406MS
hdu 4287Intelligent IME(简单hash)的更多相关文章
- HDU 4287-Intelligent IME(哈希)
Intelligent IME Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 2085 核反应堆 --- 简单递推
HDU 2085 核反应堆 /* HDU 2085 核反应堆 --- 简单递推 */ #include <cstdio> ; long long a[N], b[N]; //a表示高能质点 ...
- HDOJ-ACM1425 sort 简单hash应用
其实快排也可以通过这个问题~不是考点 没想到考点是这个,简单hash应用,空间换时间 初始化一个长度为1000001的数组(由于数字的范围为[-500000,500000]) 如果存在这个数m,数组下 ...
- Least Common Multiple (HDU - 1019) 【简单数论】【LCM】【欧几里得辗转相除法】
Least Common Multiple (HDU - 1019) [简单数论][LCM][欧几里得辗转相除法] 标签: 入门讲座题解 数论 题目描述 The least common multip ...
- 七夕节 (HDU - 1215) 【简单数论】【找因数】
七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...
- HDU 1880 简单Hash
题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=1880] 中文题面,题意很简单: 题解: 把每个 魔咒 和 对应的功能分别Hash,然后分别映射到ma ...
- HDU——2112HDU Today(SPFA+简单Hash或map+前向星)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 4821 String (HASH)
题意:给你一串字符串s,再给你两个数字m l,问你s中可以分出多少个长度为m*l的子串,并且子串分成m个长度为l的串每个都不完全相同 首先使用BKDRHash方法把每个长度为l的子串预处理成一个数字, ...
- hdu 4622 Reincarnation 字符串hash 模板题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622 题意:给定一个长度不超过2000的字符串,之后有不超过1e5次的区间查询,输出每次查询区间中不同 ...
随机推荐
- Yum安装时提示多库版本保护 Multilib version problems found
例如: yum install pcre pcre-devel 出现一下错误: 解决方法:yum install --setopt=protected_multilib=false pcre pcre ...
- 什么是DQL、DML、DDL、DCL
SQL(Structure Query Language)语言是数据库的核心语言. SQL的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出,当时 ...
- Codeforces 959 F. Mahmoud and Ehab and yet another xor task
\(>Codeforces\space959 F. Mahmoud\ and\ Ehab\ and\ yet\ another\ xor\ task<\) 题目大意 : 给出一个长度为 \ ...
- div块元素垂直水平居中方法总结
1.已知块级元素的宽和高,使用绝对定位+外边距设定水平垂直居中. 父元素position:relative,子元素position:absolute;top:50%;left:50%;margin-t ...
- hdu 3294 manacher 求回文串
感谢: http://blog.csdn.net/ggggiqnypgjg/article/details/6645824/ O(n)求给定字符串的以每个位置为中心的回文串长度. 中心思想:每次计算位 ...
- Linux知识(3)----常用快捷键和命令
这里收集整理了一些常用的命令. 1.常用快捷键 这个链接介绍很全:http://blog.sina.com.cn/s/blog_8cb5c0e501012l7x.html 1. Ctrl + W: 关 ...
- linux基础命令学习 (十)Vi
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
- iOS 本地消息推送机制
转发自:https://www.jianshu.com/p/e347f999ed95 //已经废除的 http://blog.csdn.net/three_zhang/article/deta ...
- C# dataGridView根据数据调整列宽
//自适应列宽 this.dgvBaoming.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.A ...
- ExtJs 3 自定义combotree
ExtJs 3 自定义combotree /** * 自定义下拉树,支持初始化值时自动定位树节点. * 还没有考虑性能问题.继承自Ext.form.ComboBox也很浪费. * 代码中的cu.get ...