HDU 4287 Intelligent IME(string,map,stl,make_pair)
//numx[i]=string(sx); //把char[]类型转换成string类型
// mat.insert(make_pair(numx[i],0)); //创造一个(string,int)整体——结构体,插入map
//sx[j]=ch[sx[j]-'a'];//把字母转换成相应的数字
//mat.find(numx[i])->second;//返回位置—— 取map当中num[i]对应的键值
#include<cstdio>
#include<cstring>
#include<string>
#include<map>
using namespace std;
char ch[]={'','','','','','','','','','','','','','','','','','','','','','','','','',''};
string numx[];
map<string,int> mat; //int是用来记录要输出的答案——数量的
int main()
{
int cas,n,m;
char sx[];
scanf("%d",&cas);
for(;cas--;)
{
mat.clear();
scanf("%d%d",&n,&m);
for(int i=;i<n;++i)
{
scanf("%s",sx);
numx[i]=string(sx); //把char[]类型转换成string类型
mat.insert(make_pair(numx[i],)); //创造一个(string,int)整体——结构体,插入map
}
for(int i=;i<m;++i)
{
scanf("%s",sx);
for(int j=;j < strlen(sx);++j)
sx[j]=ch[sx[j]-'a'];//把字母转换成相应的数字
if(mat.count( string(sx) )!=)
(mat.find( string(sx) )->second)++;
}
for(int i=;i<n;++i)
printf("%d\n",mat.find(numx[i])->second);
}
return ;
}
//根据百度来的写的:
//string ch = "22233344455566677778889999";//string下标也从0开始
//mapp[ num[i] ] = 0; //保存这种按法相应的答案——种类数的,键值对应
// int len=sx.length(); //string的长度s.length()
//mapp.count(sx)//返回map当中sx的数目——查找mapp当中是否存在sx这个数字串(键),若sx的数目不等于0,说明存在
//mapp[sx]++;//键sx对应的值增加1
#include<stdio.h>
#include<string>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
map<string, int > mapp;
string ch = "";//string下标也从0开始
int main()
{
int n,m,t,i;
string num[];
string sx;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=;i<n;i++)
{
cin >> num[i];
mapp[ num[i] ] = ; //保存这种按法相应的答案——种类数的
}
for(i=;i<m;i++)
{
cin >> sx;
int len=sx.length(); //string的长度s.length()
for(int j=; j<len; j++)
{
sx[j]=ch[ sx[j]-'a' ];//把字母转换成数字(也是字符型的数字),模拟一下就理解了,string下标从0开始
}
if(mapp.count(sx))//查找mapp当中是否存在sx这个数字串(键),若sx的数目不等于0,说明存在
{
mapp[sx]++;//键sx对应的值数目增加1
}
}
//输出n个健相应的值
for(i=;i<n;i++)
{
printf("%d\n",mapp[num[i]]);
}
}
return ;
}
HDU 4287 Intelligent IME(string,map,stl,make_pair)的更多相关文章
- HDU 4287 Intelligent IME(map运用)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4287 Intellig ...
- HDU 4287 Intelligent IME(字典树数组版)
Intelligent IME Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4287 Intelligent IME(字典树)
在我没用hash之前,一直TLE,字符串处理时间过长,用了hash之后一直CE,(请看下图)我自从经历我的字典树G++MLE,C++AC以后,一直天真的用C++,后来的CE就是因为这个,G++才支持这 ...
- ACM学习历程—HDU 4287 Intelligent IME(字典树 || map)
Description We all use cell phone today. And we must be familiar with the intelligent English input ...
- HDU 4287 Intelligent IME hash
Intelligent IME Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...
- HDU 4287 Intelligent IME
Intelligent IME Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Es6(Symbol,set,map,filter)
首先再讲这几个新东西之前,先说一个Es6中新出的扩展运算符(...) 1.展开运算符,就是把东西展开,可以用在array和object上 比如: let a=[,] let b=[,...a,]//[ ...
- 【转】Java学习---Java核心数据结构(List,Map,Set)使用技巧与优化
[原文]https://www.toutiao.com/i6594587397101453827/ Java核心数据结构(List,Map,Set)使用技巧与优化 JDK提供了一组主要的数据结构实现, ...
- C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法
每次忘记都去查,真难啊 /* C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 */ /* vector常用用法 */ //头文件 #i ...
随机推荐
- 菜鸟学习Spring——60s让你学会动态代理原理
一.为什么要使用动态代理 当一个对象或多个对象实现了N中方法的时候,由于业务需求需要把这个对象和多个对象的N个方法加入一个共同的方法,比如把所有对象的所有方法加入事务这个时候有三种方法 ...
- EMVTag系列1《数据分组》
数据分组的设计在个人化过程中承担着重要的作用.数据分组标识符(DGI)是两字节十六进制数.数据分组标识的第一个字节等于'01'到'1E',表明数据存储的SFI.第二个字节表明SFI记录的记录编号.其他 ...
- require.js的用法
我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文 ...
- Swift function how to return nil
这两天在学习Stanford出品的iOS7的课程,这个课程去年也看过,但是看到第3课就不行了,满篇的OC,把人都搞晕了.这段时间因为要写个iOS的App,正好赶上了Swift问世,所以趁着这股劲继续学 ...
- Swift给每个开发者赢取500万的机会!不看一生后悔。
[导语] Swift的横空出世,很多有想法的人已经发现其中的蕴含的巨大商机,而很多新手却只是云里雾里,只知道大家最近讨论Swift很欢乐.内行看门道,外行看热闹,说的就是这个理.如果你能把swift用 ...
- 两个有用的shell工具总结
shell工具之一:sed sed基础 sed编辑器被称作流编辑器,与常见的交互式文本编辑器刚好相反.文本编辑器可以通过键盘来交互式地插入.删除.替换文本中的数据:而流编辑器是基于一组预先的规则来编辑 ...
- MongoDB学习笔记-查询
MongoDB中使用find或findOne函数执行查询 find函数 db.c.find()--查询集合c所有 db.c.find({“name”:”zhangsan”}) 注意:查询条件的值必须是 ...
- Function-两个日期大小比较
function checkDate(from,to){ if (from == "" || to == "") return 2; var rValue = ...
- [SSH服务]——一些安全性配置和补充实验
SSH 安全性和配置 转载于 http://www.ibm.com/developerworks/cn/aix/library/au-sshsecurity/ 对于一些之前列举的代码示例,许多系统管理 ...
- MVC Controller 链接到 API Controller 以及反向链接
MVC Controller 链接到 API Controller 以及反向链接 问题 想创建一个从 ASP.NET MVC controller 到 ASP.NET Web API controll ...