C++之路进阶——HDU1880(魔咒词典)
---恢复内容开始---
魔咒词典Time Problem Description
哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。
给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?” Input
首先列出词典中不超过100000条不同的魔咒词条,每条格式为:
[魔咒] 其中“魔咒”和“对应功能”分别为长度不超过20和80的字符串,字符串中保证不包含字符“[”和“]”,且“]”和后面的字符串之间有且仅有一个空格。词典最后一行以“@END@”结束,这一行不属于词典中的词条。 Output
每个测试用例的输出占一行,输出魔咒对应的功能,或者功能对应的魔咒。如果魔咒不在词典中,就输出“what?”
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? Author
ZJU
Source
|
题解:
裸地hash,没什么好说...顺便加一句,数据太水...暴力都过...附带大数据,文件hxyzc./cpp/pas/c
数据地址:http://pan.baidu.com/s/1geTcwXt,解压密码:hyxzc
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 100010
using namespace std;
string ss,sss;
char s[];
char s1[maxn][],s2[maxn][];
int n,tot,l1[maxn],l2[maxn];
int main()
{
int i,j,k;
freopen("hyxzc.in","r",stdin);
freopen("hyxzc.out","w",stdout);
while()
{
gets(s);
if(s[]=='@')break;
tot++;
int l=strlen(s);
for(i=;i<=l-;i++)
{
s1[tot][l1[tot]++]=s[i];
if(s[i]==']')break;
}
for(j=i+;j<=l-;j++)
s2[tot][l2[tot]++]=s[j];
}
cin>>n;
char c=getchar();
while(n--)
{
gets(s);
int l=strlen(s);
ss=s;
if(ss[]=='[')
{
for(i=;i<=tot;i++)
{
sss=s1[i];
if(ss==sss)
{
cout<<s2[i]<<endl;
break;
}
}
if(i==tot+)
cout<<"what?"<<endl;
}
else
{
for(i=;i<=tot;i++)
{
sss=s2[i];
if(ss==sss)
{
for(j=;j<l1[i]-;j++)
cout<<s1[i][j];
cout<<endl;
break;
}
}
if(i==tot+)
cout<<"what?"<<endl;
}
}
return ;
}
C++之路进阶——HDU1880(魔咒词典)的更多相关文章
- HDU1880 魔咒词典
题目大意:对应的输入多行,每行两个字符串,两个字符串互相映射.接下来询问的时候,如果这个字符串出现过,输出其对应的字符串. 分析:二重哈希来判断字符串是否存在,输出其对应的字符串就行.二重哈希的入门题 ...
- HDU 1880 魔咒词典(字符串哈希)
题目链接 Problem Description 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一 ...
- hdu 1880 魔咒词典
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1880 魔咒词典 Description 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有10 ...
- HDU 1880 魔咒词典 (Hash)
魔咒词典 Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 题目1029:魔咒词典(map使用以及字符串读取函数总结)
题目链接:http://ac.jobdu.com/problem.php?pid=1029 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus // // ...
- hdu 1880 魔咒词典 (字符串哈希)
魔咒词典 Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- ACM1880魔咒词典
魔咒词典 Problem Description 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一 ...
- HDU - 1880 魔咒词典~哈希入门
哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助. 给你一部魔咒词 ...
- 九度OJ 1029:魔咒词典 (排序)
时间限制:5 秒 内存限制:32 兆 特殊判题:否 提交:4574 解决:1318 题目描述: 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有100000种不同的魔咒,哈利很难全部 ...
随机推荐
- div可编辑状态设置
<div contentedittable="ture"></div>
- 【SDOI2009】HH的项链
洛谷题目链接 题意: 给定一个长5w静态的序列,询问20w次,每次询问查找一个区间内的元素种类数 染色问题神烦啊,最近刚会做,感觉都可以用统一的方法 首先要算出与一个元素相同的最邻近的上一个元素的位置 ...
- 随堂笔记javascript篇之chrome调试:
在征求到许老师的同意之后,我用javascript脚本语言来完成我的课堂作业,初学一门语言,刚开始也许是初生牛犊不怕虎,接受一门新的语言而且用来完成作业.一开始老师是拒绝的,他说我这样是太麻烦了.对于 ...
- [Android]关于filed 遍历资源文件的排序问题
Field[] svgfields = R.drawable.class.getFields(); listid = new ArrayList<Integer>(); for (Fiel ...
- IBatis添加信息返当前添加对象ID
在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返 ...
- python与正则表达式
匹配一个字符: . 任意非\n字符 [...] \d \D digit \s \S space \w \W word 匹配前一个字符的多个: * 0->> + 1->> ? 0 ...
- git add 命令
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件. 注意 -A 选项后面还有一个句点. git add -A表示添加所有内容 ...
- 复制文件的问题:使用FileInputStream和FileOutputStream实现文件复制
public class Test{ public static void main(String [] args) { Test t=new Test(); t.upload(); } public ...
- 20145205 《Java程序设计》第8周学习总结
教材学习内容总结 第十五章 通用API 15.1 日志 日志API简介 java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可在标准Java平台使用是其好处.使用日 ...
- 2.Powershell Console
前面对Powershell有了一定认识之后,接下来我们就看一个直接面对我们的接口Powershell Console,通过这个界面可以执行指令,进行人机交互,对这个界面熟悉才能使我们后面的操作得心应手 ...