本文主要是介绍九度1029 -map - 魔咒词典,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个题目就是为了练习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;elsecout<<maps[a]<<endl;}else{f = maps1.find(a);if(f==maps1.end())cout<<"what?"<<endl;elsecout<<maps1[a]<<endl;}}return 0;
}
这篇关于九度1029 -map - 魔咒词典的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!