小明学单词 stl之map

小明学单词

大家好,我是隔壁老王,经过一阵疯狂手打,敲完了这一篇,希望大家多多关注我!!!

题目简介:
小明在学单词的时候遇到了困难,所以她打算把两个单词联系在一起记忆,现在她想考考你有没有记住其中一个单词的另一个是哪个。

输入:
第一行有两个整数n(n≤10000),m(m≤10000)。表示小明把n组单词联系在一起记忆。她考了你m次。接下来n行每行两个单词用空格隔开,单词长度不超过10。接下来m行,每行一个单词。

输出:
共m行,每一行表示与输入单词联系的单词,如果没有输出eh。

样例输入:
5 3
dog ogday
cat atcay
ig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay

题目出处:https://jsswoj.com/oj/#main/show/1420
这道题明显使用过映射来完成的,为了方便,我们继续用stl,可是与上一篇不同,这次用的是map。map普通的用法十分简单,但是记得包含头文件map,直接暴力上代码!!!

code

#include<map>
#include<string>
#include<iostream>
using namespace std;
map<string,string>a;
main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n,m;
	cin>>n>>m;
	for(int i=0;i<n;i++){
		string str1,str2;
		cin>>str1>>str2;
		a[str1]=str2;
		a[str2]=str1;
	}
	for(int i=0;i<m;i++){
		string str;
		cin>>str;
		if(a[str].empty()){cout<<"eh\n";continue;}
		cout<<a[str]<<endl;
	}
	return 0;
} 

大家请多多支持,最好是关注我【坏笑】,得到更多点拨和题解哦!!

下一章——stl之queue

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值