题意:
给你一组字符串, 每一行有两个串,a,b;
输入空行结束
给你一个串c,问你在前面的第二列的数组中出没出现过,有的话,输出前面的那个,没有的话输出eh
sscanf函数应用是,把一个串,分割成不同类型的
1. map 2625ms
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<queue>
#include<climits>
#include<list>
#define MULT 20000
using namespace std;
int main()
{
char ls[30], lk[30],lp[30];
map<string,string>mapS;
while(gets(ls))
{
if(strlen(ls)==0)
break;
sscanf(ls,"%s %s",lk,lp);
mapS[lp] = lk;
}
map<string,string>::iterator iter;
while(gets(ls))
{
iter = mapS.find(ls);
if(iter!=mapS.end())
{
cout<<iter->second<<endl;
}
else
printf("eh\n