题目

转载来的,有些stl和string的函数蛮好的:

//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)的更多相关文章

  1. HDU 4287 Intelligent IME(map运用)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4287 Intellig ...

  2. HDU 4287 Intelligent IME(字典树数组版)

    Intelligent IME Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. HDU 4287 Intelligent IME(字典树)

    在我没用hash之前,一直TLE,字符串处理时间过长,用了hash之后一直CE,(请看下图)我自从经历我的字典树G++MLE,C++AC以后,一直天真的用C++,后来的CE就是因为这个,G++才支持这 ...

  4. ACM学习历程—HDU 4287 Intelligent IME(字典树 || map)

    Description We all use cell phone today. And we must be familiar with the intelligent English input ...

  5. HDU 4287 Intelligent IME hash

    Intelligent IME Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...

  6. HDU 4287 Intelligent IME

    Intelligent IME Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. Es6(Symbol,set,map,filter)

    首先再讲这几个新东西之前,先说一个Es6中新出的扩展运算符(...) 1.展开运算符,就是把东西展开,可以用在array和object上 比如: let a=[,] let b=[,...a,]//[ ...

  8. 【转】Java学习---Java核心数据结构(List,Map,Set)使用技巧与优化

    [原文]https://www.toutiao.com/i6594587397101453827/ Java核心数据结构(List,Map,Set)使用技巧与优化 JDK提供了一组主要的数据结构实现, ...

  9. C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

    每次忘记都去查,真难啊 /* C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 */ /* vector常用用法 */ //头文件 #i ...

随机推荐

  1. Debug.print的用法

    使用Debug.print可以用来更好的调试VBA程序 通过ALT+F11代开VBA编程窗口) 插入模块,接着在窗口中输入以下代码,按F5执行 Sub Excute() Debug.Print * + ...

  2. Android Studio SDK 更新方法

    通常情况下,下载Android SDK需要连接谷歌的服务器进行下载,由于国内水深火热的网络,速度基本为0.好在国内也有一个更新的镜像地址.本文章介绍如何在不FQ的情况下,使用国内镜像地址,更新andr ...

  3. scjp考试准备 - 4 - 关于数组

    好吧这道题我丢脸了,竟然做错了. 如下程序的输出结果是: class Alligator{ public static void main(String[] args){ int[]x[] = {{1 ...

  4. P1179: [Apio2009]Atm

    缩点+spfa最短路,因为最终不可能有环,所以直接spfa. ; type node=record f,t:longint; end; var n,m,s,i,j,ans,cnt,num,u,x,dg ...

  5. NSArray的排序

    1.自定义方法排序: NSArray *array = [NSArray arrayWithObjects:", nil]; NSArray *array2 = [array sortedA ...

  6. Objective-C面向对象(四)

    1.协议(protocol)和委托 1.1 规范.协议与接口 OC中协议的作用就相当于其他语言中接口的作用.协议定义的是多个类共同的公共行为规范,协议通常定义一组公用方法,但不提供实现. 1.2 定义 ...

  7. 如何写一个简单的Web Server(一)

      在本篇博文中我将介绍如何写一个Web Server.博文中大部分资料我是参考的这篇文章(http://www.linuxhowtos.org/C_C++/socket.htm),英文不错的同学可以 ...

  8. 微软职位内部推荐-Senior SDE

    微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: ...

  9. 理解CSS居中

    我想很多在前端学习或者开发过程中,肯定会遇到如何让你的元素居中的问题,网上google肯定会有很多的解决方法.今天我就个人的项目与学习经验谈谈个人理解css如何让元素居中. 要理解css的居中,首先必 ...

  10. LabView调用C#混合模式dll

    在一些特定要求下,我们的C#可能需要制作dll给LabView进行调用,并且我们不能够保证C#的程序是完全自己写而不调用第三方的dll库.很多时候我们需要使用诸如Sqlite.Net.AForge.N ...