HDU1075“What Are You Talking About”_hdu1075 答案错误-程序员宅基地

技术标签: 算法  map  

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075

大意:将火星文翻译成对应的单词,除了字符和字典里没有的单词可以不变,

这个题如果用常规的两个数组存入和依次去比较会超时。从其他博主哪里学到了一个新东西,map容器,容器很好用,但是有时候总是会忘记使用它。

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力。

数据的查找(包括判定这个关键字是否在map中出现)
在这里我们将体会,map在数据插入时保证有序的好处。
要判定一个数据(关键字)是否在map中出现的方法比较多,这里标题虽然是数据的查找,在这里将穿插着大量的map基本用法。
这里给出三种数据查找方法
第一种:用count函数来判定关键字是否出现,其缺点是无法定位数据出现位置,由于map的特性,一对一的映射关系,就决定了count函数的返回值只有两个,要么是0,要么是1,出现的情况,当然是返回1了
第二种:用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
       map<int, string> mapStudent;
       mapStudent.insert(pair<int, string>(1, "student_one"));
       mapStudent.insert(pair<int, string>(2, "student_two"));
       mapStudent.insert(pair<int, string>(3, "student_three"));
       map<int, string>::iterator iter;
       iter = mapStudent.find(1);
       if(iter != mapStudent.end())
      {
           cout<<"Find, the value is "<<iter->second<<endl;
       }
       Else
       {
           cout<<"Do not Find"<<endl;
       }
#include<iostream>       
#include<cstdlib>      
#include<cstdio> 
#include<cstring>      
#include<cmath>           
#include<string>      
#include<cstdlib>      
#include<iomanip>      
#include<vector>      
#include<list>      
#include<map>      
#include<queue>    
#include<algorithm>    
using namespace std;
int main()
{
	char buf[12], s1[12], s2[12], ch;
	map<string, string> mp;
	int id = 0;
	gets(buf); 
	while(scanf("%s%s", s1, s2), strcmp(s1, "END"))
	{
		mp[s2] = s1;
	}
	getchar();
	while(scanf("%c", &ch))
	{		
		if(isalpha(ch)) 
		   buf[id++] = ch; //读取每个字符,是字符就储存到buf
		
		else  //否则就翻译已经输入的火星文
		{	
			buf[id] = '\0';
			 id = 0;
			if(strcmp(buf, "END") == 0) break;
			if(mp.find(buf) != mp.end()) 
			{
				cout << mp[buf]; //找到对应的就输出 
			}
			else 
			printf("%s", buf); //否则输出原字符串 
			putchar(ch);
		}
	}
	return 0;
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37241934/article/details/81457157

智能推荐

Abaqus idle 3600 seconds 或 Process terminated by external request 问题解决_process terminated by external request (sigterm or-程序员宅基地

文章浏览阅读1.7w次,点赞4次,收藏32次。运行Abaqus一段时间后,出现Aborted,命令行窗口中出现Session has been idle for longer than 3600 seconds. Disconnecting fromAbaqus License Manager在status File中出现***ERROR: Process terminated by external request (SIGTERM or SIGINT received).但并没有点击kill命令参考解决方案https:/_process terminated by external request (sigterm or sigint received).

《网络与信息安全》重点整理_广义信息指凡是在一种情况下能减少不确定性的任何事物都可称为信息-程序员宅基地

文章浏览阅读2k次。1.凡是在一种情况下能减少不确定性的任何事物都叫做信息。2.信息具有若干属性,例如价值性、时效性、隐私性、安全性。3、4.信息安全是指使信息避免⼀系列威胁,保障 业务的连续性,最⼤限度地减少业务的损失,从而最大限度地获取投资和业务的回报。5.信息安全要素:机密性、完整性、可用性。6.机密性:确保信息不受未授权获取常见威胁:Shoulder surfing、网络监听、窃取文件、社会工..._广义信息指凡是在一种情况下能减少不确定性的任何事物都可称为信息

js 图片类型mage/jpeg, image/bmp, image/gif ,image/png-程序员宅基地

文章浏览阅读1w次。js 图片类型mage/jpeg, image/bmp, image/gif ,image/png_image/bmp

jmeter设置随机参数-uuid(带横线)_jmeteruuid设置长度-程序员宅基地

文章浏览阅读1.2k次。1、在jmeter工具:选择“函数助手对话框”2、在函数助手:下拉框选择“UUID”3、在函数助手:点击“生成”4、在函数助手:生成之后,得出函数字符串、随机值5、在http请求:设置随机参数..._jmeteruuid设置长度

Javaweb——————sql常用思维导图_java访问关系型数据库思维导图-程序员宅基地

文章浏览阅读3.4k次。_java访问关系型数据库思维导图

VUE3 ONE-PIECE_vue3 one piece-程序员宅基地

文章浏览阅读755次。他并没用将 job 对象中的每个 属性都用 ref 包裹而是用了 Proxy 的形式,并且我们使用 job 中的属性只要 job.value.type 不要 job.value.type.value 因为元素不在用 refimpl 包裹。现在我们知道要改变页面中的数据必须使用 .value 的形式 但模板中使用数据 不需要 .value 因为vue已经帮你用了.value。vue3 的新配置项 setup 是所有的 composition API 表演的舞台。_vue3 one piece

随便推点

Linux中分区配额的设置,LVM逻辑卷的建立、扩展、压缩、删除_/dev/vdb1 2048 2099199 1048576 8e linux lvm-程序员宅基地

文章浏览阅读1.7k次。一、 配 额 超级用户[root@localhost ~]# fdisk /dev/vdb #新建一个分区[root@localhost ~]# mkfs.xfs /dev/vdb1 #格式化[root@localhost ~]# mount -o usrquota /dev/vdb1 /mnt [root@localhost ~]# chmod 7..._/dev/vdb1 2048 2099199 1048576 8e linux lvm

解决iis跨域问题_iis 跨域-程序员宅基地

文章浏览阅读5.4k次,点赞5次,收藏10次。解决iis跨域问题_iis 跨域

回归预测 | Matlab基于CPO-BP基于冠豪猪算法优化BP神经网络的数据多输入单输出回归预测_cpo冠豪猪算法-程序员宅基地

文章浏览阅读727次,点赞11次,收藏10次。回归预测 | Matlab基于CPO-BP基于冠豪猪算法优化BP神经网络的数据多输入单输出回归预测_cpo冠豪猪算法

Visual Studio使用详解(一)VS下载及安装_为什么有的模块要下载vs-程序员宅基地

文章浏览阅读2.1k次。前言作为一枚程序猿来说,无论是刚刚入门的小白,还是已经身经百战的大神,写代码都是必须进行的工作,这就涉及到一个写作工具的问题,虽然就连Windows自带的记事本都可以进行代码的写作,但是为了高效的工作,还是推荐使用专用的软件,在此介绍一下C#开发使用的Visual Studio软件。一、 Visual Studio简介Visual Studio,简称为VS,是由微软大佬发布的一个是一个基本完..._为什么有的模块要下载vs

【天梯赛-练习题】L1-056 猜数字_l1-056 猜数字测试点3-程序员宅基地

文章浏览阅读239次。L1-056 猜数字 (20 分)一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤10​4​​)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,..._l1-056 猜数字测试点3

人工智能论文合集(18年11月)_人工智能毕业论文csdn-程序员宅基地

文章浏览阅读1.8k次。&nbsp;&nbsp;&nbsp;&nbsp;分享一些NLP相关的论文,简要对摘要做了翻译&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Streaming Graph Neural Networks&nbsp;&nbsp;&nbsp;&nbsp;摘要:图是许多真实世界数据的基本表示,如社交网络。近年来,人们越来越努力将神经网络模型扩展到图形结构数据。这些通常被称为图神经网络的方法已..._人工智能毕业论文csdn

推荐文章

热门文章

相关标签