题目链接: The kth great number
思路: map的运用
# 输入一整行的字符串包括空格 -
getline(cin,ss);
#查找元素是否在容器中
if(ma.find(value)!=ma.end())//是返回真,否返回假
CODE:
#include <iostream>
#include<stdio.h>
#include<cctype>
#include<string>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<vector>
using namespace std;
string s[15];
int main()
{
//freopen("in.in","r",stdin);
map<string,string> ma;
int n=0;
string s1,s2;
cin>>s1;
while(s1[0]!='E')
{
if(s1[0]!='S')
{
cin>>s2;
ma[s2]=s1;
}
cin>>s1;
}
string ss;
getchar();
getline(cin,ss);
while(ss[0]!='E')
{
getline(cin,ss);
if(ss[0]!='E')
{
int t=0;
for(int i=0;i<ss.size();i++)
{
if(!isalpha(ss[i]))
{
string value(ss,t,i-t);
if(ma.find(value)==ma.end()) ma[value]=value;
cout<<ma[value];
while(!isalpha(ss[i])&&i<ss.size())
{
cout<<ss[i];
i++;
}
t=i;
}
}
if(ss[0]!='E')printf("\n");
}
}
return 0;
}