描述

    1    2    3
ABC DEF 4 5 6
GHI JKL MNO 7 8 9
PQRS TUV WXYZ * 0 #

我们知道电话拨号盘上数字会有若干字母对应,例如2对应ABC,7对应PQRS。

这是因为在北美尤其是在美国,一些大公司常常把代表其企业名称、产品名称、行业名称等的特定英文单词或字母组合嵌入其电话号码中。比如,苹果公司在线商店Apple Store的订购电话是:1-800-MY-APPLE (1-800-692-7753)。这种做法的主要目的在于宣传公司标志并且便于受众记忆和使用。显然对于英语国家的人们来说,英文单词要比凌乱的数字更容易识记。

多个字母组合可能会对应同一个号码,从而造成争抢,例如HIHO和IGGO都对应4446。

现在给定N个字母组合以及M个号码,请对每一个号码求出有多少个字母组合对应它。

输入

第一行包含两个整数N和M。

以下N行每行一个字母组合。

再之后M行每行一个数字号码。

对于30%的数据,1 ≤ N, M ≤ 100

对于100%的数据,1 ≤ N, M ≤ 50000, 字母组合和号码的长度都不超过10。只包含大写字母和数字2-9。

输出

输出M行。按照输入的顺序依次输出每一个号码有多少字母组合对应。

样例输入

3 2
HIHO
IGGO
CODER
4446
26337

样例输出

2
1
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
const int maxn=;
map<string,int>mp;
string name;
long long phone;
int id[]={,,,,,,,,,,,,,,,,,,,,,,,,,};
int main()
{
int n,m,i,j,L;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++) {
cin>>name;
string tmp="";
L=name.length();
for(j=L-;j>=;j--){
tmp=tmp+(char)(id[name[j]-'A']+'');
} mp[tmp]++;
}
for(i=;i<=m;i++){
cin>>phone;
string tmp="";
while(phone){
tmp+=(phone%+'');
phone/=;
}
cout<<mp[tmp]<<endl;
} return ;
}

HihoCoder1641 : 热门号码([Offer收割]编程练习赛37)(模拟)的更多相关文章

  1. [Offer收割]编程练习赛37

    热门号码 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector> ...

  2. HihoCoder1644 : 完美命名的烦恼([Offer收割]编程练习赛37)(有向图的一笔画问题||欧拉路)

    描述 程序员常常需要给变量命名.给函数命名.给项目命名.给团队命名…… 好的名字可以大大提高程序员的主观能动性,所以很多程序员在起名时都会陷入纠结和烦恼. 小Hi希望给新的项目起个完美的名字.首先小H ...

  3. HihoCoder1643 : 最少换乘([Offer收割]编程练习赛37)(bfs)

    描述 小Ho居住的城市有N条公交车线路,其中第i条线路上有Ki个车站. 某些线路之间会有公共的车站,小Ho可以在这些车站从一条线路换乘到另一条线路. 现在给定N条公交车线路以及两个车站S和E,你能帮助 ...

  4. HihoCoder1642 : 三角形面积和([Offer收割]编程练习赛37)(求面积)(扫描线||暴力)(占位)

    描述 如下图所示,在X轴上方一共有N个等腰直角三角形.这些三角形的斜边与X轴重合,斜边的对顶点坐标是(Xi, Yi). (11,5) (4,4) /\ /\(7,3) \ / \/\/ \ / /\/ ...

  5. HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)

    描述 H国编程联赛中有N只队伍,编号1~N. 他们计划在2018年一共进行M场一(队)对一(队)的比赛. 为了让参赛队员能得到充分的休息,联赛组委会决定:每支队伍连续两场比赛之间至少间隔一天.也就是如 ...

  6. hihocoder [Offer收割]编程练习赛4

    描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...

  7. hihocoder [Offer收割]编程练习赛61

    [Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...

  8. [Offer收割]编程练习赛46

    [Offer收割]编程练习赛46赛后题解 A.AEIOU 分析

  9. [Offer收割]编程练习赛23-freeloop

    A. H国的身份证号码I dfs裸题. 时间复杂度\(O(n^k)\). #include <bits/stdc++.h> #define FOR(i,a,b) for (int i=a; ...

随机推荐

  1. VueJS事件处理器v-on

    事件监听可以使用 v-on 指令. v-on:click表达式 HTML: <!DOCTYPE html> <html> <head> <meta chars ...

  2. mysql 配置 安装和 root password 更改

    第一步: 修改my.ini文件,替换为以下内容 (skip_grant_tables***重点) # For advice on how to change settings please see # ...

  3. 修改Oracle SGA,以提高oracle性能

    在正常情况下,查询非常慢. 1.检查SGA大小,以DBA身份连接到oracle数据库,输入show sga. 2.如果SGA过小,请修改其大小 修改SGA必须保持的原则 1).sga_target不能 ...

  4. Objective-C 执行AppleScript脚本

    在Objective-C里事实上也能够执行AppleScript 第一种方式是Source 将脚本写到变量字符串里 NSAppleEventDescriptor *eventDescriptor = ...

  5. aar格式

    aar包是Android Library Project的二进制公布包. 文件的扩展名是aar,并且maven包类型也应该是aar. 只是这文件本身就是一个简单的zip文件.里面有例如以下的内容: / ...

  6. 怎样推断 ios设备的类型(iphone,ipod,ipad)

    -(bool)checkDevice:(NSString*)name { NSString* deviceType = [UIDevice currentDevice].model; NSLog(@& ...

  7. Nonblocking Memory Refresh&2018ISCA/Security& 非阻塞内存刷新

    Abstract 我们提议的非阻塞刷新工作是一次刷新内存块中的一部分数据,并在内存块中使用冗余数据,如RS码,在块中计算块的刷新/不可读数据以满足读取请求.作为概念的证明,我们将非阻塞刷新应用于服务器 ...

  8. CentOS7时间设置及ntp同步配置(转)

    出处:http://www.centoscn.com/CentOS/config/2015/1105/6385.html http://www.centoscn.com/CentOS/config/2 ...

  9. mongo 介绍

    [介绍]:MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨在为WEB应用提供可扩展的高性能数据存 ...

  10. 网页直播、微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr

    近期遇到好多客户咨询关于实现微信直播.或者是将直播页面集成进入自己项目中. 该方案的主要目的:完成在公网一直进行内网摄像头的RTMP/HLS直播! 实现方案的具体实现: EasyNVR+EasyDSS ...