A - ZJM 与霍格沃兹 (Week15 作业)

2023-05-16

A - ZJM 与霍格沃兹

在这里插入图片描述
Sample Input

[expelliarmus] the disarming charm
[rictusempra] send a jet of silver light to hit the enemy
[tarantallegra] control the movement of one's legs
[serpensortia] shoot a snake out of the end of one's wand
[lumos] light the wand
[obliviate] the memory charm
[expecto patronum] send a Patronus to the dementors
[accio] the summoning charm
@END@
4
[lumos]
the summoning charm
[arha]
take me to the sky

Sample Output

light the wand
accio
what?
what?	

实现思路

这个题对mermory要求比较高,map<string,string>会导致Memory Limit Exceeded。因此我们需要用哈希算法求出每一个字符串对应的哈希值,利用哈希值来存储、查找;另外,要注意数据的范围,我直接用了unsigned long long,也可以加上一个Mod

PS:本题用G++会Memory Limit Exceeded,改用C++则AC

代码实现

#include<iostream>
#include<map>
#include<string.h>
#include<string>
using namespace std;
map<unsigned long long,string> mpr;
map<unsigned long long,string> mpl;
int n;
const int seed=7;
unsigned long long func(string &p)
{
	unsigned long long ans = 0;
	int len = p.length()-1; 
	unsigned long long tmp = seed;
	for(int i=0;i<len;i++)
	{
		if(p[i]!=' ')
		{
			ans+=p[i]*tmp;
			tmp*=seed;
		}
	}
	return ans;
}
int main()
{
	string s;
	string tl;
	string tr;
	while(getline(cin,s))
	{
		if(s=="@END@") break;
		for(int i=1;i<s.length();i++)
		{
			if(s[i]==']')
			{
				tl=s.substr(0,i+1);
				tr=s.substr(i+2,s.length());
				mpl.insert(pair<unsigned long long,string>(func(tl),tr));
				mpr.insert(pair<unsigned long long,string>(func(tr),tl));
				break;
			}
		}
	}
	cin>>n;
	string f;
	getchar();
	for(int i=0;i<n;i++)
	{
		getline(cin,f);
		if(mpr.find(func(f))!=mpr.end()) 
		{
			string tmp;
			tmp = mpr[func(f)];
			int len = tmp.length()-1;
			for(int j=1;j<len;j++) cout<<tmp[j];
			cout<<endl;
		}
		else if(mpl.find(func(f))!=mpl.end()) cout<<mpl[func(f)]<<endl;
		else cout<<"what?"<<endl;
	}
	return 0;
 } 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

A - ZJM 与霍格沃兹 (Week15 作业) 的相关文章

  • 关于web安全问题解决方案

    启用了不安全的HTTP方法 xff08 禁用put delete调用方式 xff0c 尽量只使用post方式 内网可以用get xff09 危害 xff1a 这些方法表示可能在服务器上使用了 WebDAV 由于dav方法允许客户端操纵服务器
  • ubuntu换源

    以阿里的源为例 首先去这个网页 xff0c 找到你对应版本的源https developer aliyun com mirror ubuntu spm 61 a2c6h 13651102 0 0 3e221b118WiEjq ustc xf
  • 升级powershell7

    升级powershell7 搜索软件包 winget search powershell 升级 winget span class token function install span Microsoft PowerShell 应该在路径
  • 最全的百度网盘搜索引擎

    1 易查搜索 xff08 https so acurd com xff09 推荐指数 43 资源聚合做的比较好的一个网站 xff0c 也是最常用的一个网站 xff0c 据up主说有脚本会定时检测每个搜索引擎 xff0c 不通的或者服务器挂的

随机推荐

  • 使用ffmpeg对视频指定时间点加入指定音频和gif动图 实现水印旋转

    为了丰富文章 xff0c 本文也会演示一些动画效果 xff0c 如跑马灯效果 xff0c 淡入淡出等效果 在上一篇文章中 xff0c 我们使用了把gif图片转化为mov透明底的视频 xff0c 使用ffmpeg画中画的滤镜效果 xff0c
  • 解决在本地不能访问es服务器的问题

    背景 我们有一台服务器 xff0c 40 163服务器 xff0c 大家的代码都是在这一台机器上面执行 xff0c 使用idea自带的ftp功能 xff0c 在163服务器 xff0c 我们可以访问mysql redis es等服务 xff
  • mac安装graphviz的一些曲折经历(同样使用其他情况)

    我之前是Ubuntu用户 xff0c 后来用了macOS xff0c 但是发现macOS的包管理工具不好用 xff0c 偶尔会有些软件安装不上 xff0c 网上查呢也不一定查到结果前台我调试golang的代码 xff0c 想要下载graph
  • 秒杀要不要用锁?五种方案的代码实践和超卖演示

    https www jianshu com p a2bd89e0d24b 工欲善其事必先利其器 xff0c 我们先来装一下相关工具 jmeter 我是在mac演示的 xff0c 所以我先安装一下brew ruby e span class
  • golang入门微服务

    什么是微服务 微服务 xff0c 又称微服务架构 xff0c 是一种架构风格 xff0c 它将应用程序构建为以业务领域为模型的小型自治服务集合 就像我们要写一本书 xff0c 一共有三个章节 xff0c 为了敏捷开发 xff0c 我们让三个
  • 什么是内存?什么是内存逃逸?怎么做内存逃逸分析

    内存 平时我们在电脑上听歌 xff0c 聊天 xff0c 或者启动某个程序 xff0c 那么这个启动过程 xff0c 其实就是把程序从硬盘读入到内存中去 就像安卓手机 xff0c 内存不够了很卡 xff0c 杀掉几个软件 xff0c 内存就
  • go继承nacos配置中心并读取配置信息

    配置中心 为什么需要配置中心 平时我们写一个demo的时候 xff0c 或者说一个单体的应用 xff0c 都会有一个配置文件 xff0c 不管是 json文件或者yaml文件 xff0c 里面包含了redis mysql es等信息 xff
  • 这些神仙问题,整垮了chatGpt

    垮掉 xff0c 全部垮掉 今天刚上了一个chat聊天功能 xff0c 网友们就不甘落后 xff0c 纷纷展示了自己的技能 分分钟给我整垮了 神仙问题 玉皇大帝住在平流层还是对流层 xff1f 空腹的时候可以吃饭吗 xff1f 自来水不能直
  • Qt主窗口:(QMenuBar)创建菜单,状态栏(QStatusBar)使用

    mainWindow h ifndef MAINWINDOW H define MAINWINDOW H include lt QMainWindow gt include lt qmenu h gt include lt qaction
  • 【shell实战之编写备份脚本-12】

    文章目录 第一种方式 xff1a 使用Mysqldump逻辑备份1 备份多个数据库 分库备份 取出要备份的多个数据库赋值给一个变量 xff0c 然后利用循环的方式进行多库备份2 备份某个数据库的多表 xff1a 3 分库分表备份 xff1a
  • mysql 分组之后 取分组之后最新的数据

    一 数据表设计 二 查询场景 统计每门课的考试次数 最新一次考试的时间 最新一次考试的录入成绩的老师 1 统计没门课的考试次数 考试次数统计 select project 39 科目 39 count project 39 考试次数 39
  • java读取jar包中的文件

    最近遇到读取不到文件的问题 xff0c 开发测试一切正常 xff0c 打包发版后读取不到文件的情况 之前文件路径是相对路径 xff0c 在jar包中其实是读取不到的 这时候需要使用类装载器 ClassLoader 进行读取配置文件 1 Cl
  • idea打包可执行的jar与Error: Invalid or corrupt jarfile问题

    build前的设置 1 在菜单中选择 File gt project structure 2 选择Artifacts xff0c 点击 34 43 34 xff0c 选择jar gt from modules with dependenci
  • 获取二进制数中bit位的值示例(移位、与操作)

    二进制是计算技术中广泛采用的一种数制 二进制数据是用0和1两个数码来表示的数 它的基数为2 xff0c 进位规则是 逢二进一 xff0c 借位规则是 借一当二 一个字节通常包括8个位即1Byte 61 8Bit 我们可以将这8位从左到右看作
  • QT 实现点击按钮显示下拉菜单 QMenu

    想实现点击按钮显示下拉菜单的效果 xff1a 初始化下拉菜单 QMenu menu 61 new QMenu this actionIpSet 61 new QAction 34 按钮1 34 this actionAuthorize 61
  • jackson学习-@JsonValue的用法

    jackson学习 JSON相关注解 在实际开发过程中对于对象转json有很多的工具类 xff0c 这里使用的是jackson springboot 中jackson的用法 1 springboot工程本身就集成了jackson 只要是引入
  • C 可怕的宇宙射线(Week4CSP模拟)

    题目描述 众所周知 xff0c 瑞神已经达到了CS本科生的天花板 xff0c 但殊不知天外有天 xff0c 人外有苟 在浩瀚的宇宙中 xff0c 存在着一种叫做苟狗的生物 xff0c 这种生物天生就能达到人类研究生的知识水平 xff0c 并
  • CSP:201512-3 画图(C++)

    题目 原题传送门 题目思路 1 形成画布 xff0c 根据输入长宽初始化画布 xff0c 将全部像素都初始化为 39 39 2 输入操作 xff0c 根据输入的q个操作依次对画布进行修改 w 61 0 画线段操作 xff0c 根据输入的x1
  • A - 掌握魔法の东东 II(Week6模拟考试)

    题目 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c 记为a xff0c 范围区间是 0 到 A 1 xff09 和
  • A - ZJM 与霍格沃兹 (Week15 作业)

    A ZJM 与霍格沃兹 Sample Input expelliarmus the disarming charm rictusempra send a jet of silver light to hit the enemy tarant