九度1029 -map - 魔咒词典
2015-06-18 20:11
330 查看
这个题目就是为了练习map,因为有可能从key查找value,由value查找key两个情况,所以需要两个map,因为map只能从key查找value。同时也考验了字符串的处理。
#include<iostream> #include<map> #include<string> #include<cstdio> using namespace std; int main(){ map<string,string>maps; map<string,string>maps1; map<string,string>::iterator f; string a; int n; while(getline(cin,a)){ if(a=="@END@") break; int end = a.find(']'); string tmp = a.substr(1,end-1); string tmp1 = a.substr(end+2,a.length()-1); maps[tmp]=tmp1; maps1[tmp1]=tmp; } cin>>n; getchar(); for(int i=0;i<n;i++){ getline(cin,a); if(a.find('[')!=-1){ a = a.substr(1,a.length()-2); f = maps.find(a); if(f==maps.end()) cout<<"what?"<<endl; else cout<<maps[a]<<endl; } else{ f = maps1.find(a); if(f==maps1.end()) cout<<"what?"<<endl; else cout<<maps1[a]<<endl; } } return 0; }
相关文章推荐
- 用Java的DOM读取XML文档时遇到空指针异常...
- Javascript模块化编程(一):模块的写法
- Struts2的ValueStack工作原理
- 读后感---程序猿.
- 制作自己的静态链接库并应用到程序中
- Fiddler之makecert.exe提示Failed to acquire a security provider from issuer's centificate问题解决
- uCOS中任务调度时的上下文切换
- iBatis开发环境搭建和第一个程序
- 【华为oj】计算每个名字最大可能的“漂亮度”
- android之修改系统自带ProgressDialog样式
- 判断和类型
- OpenCV基础篇之Mat数据结构
- 二叉树 UVA 548 Tree
- 在Ubuntu Kylin下安装QQ教程
- android EditText获取光标位置并安插字符删除字符
- Android 常用RGB值及名称
- c++的设计模式之备忘录模式
- ceph-rest-api的使用
- Android-IM架构设计
- C++: std::string 与 Unicode 如何结合?