链接:点击打开链接
题意:给你一字典,如果输入的字符串在字典可以找到,输出他前面的那一字符串。
字典树可以做,但用map更简单。。。
#include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<vector> #include<map> #include<algorithm> #include<string> using namespace std; int main(){ char s1[110],s2[110]; map<string,string>str; map<string,string>::iterator iter; string s3,s4; int i,j,len; while(gets(s1)){ if(!*s1) break; len=strlen(s1); for(i=0;i<len;i++) { if(s1[i]==' ') break; } s1[i++]='\0'; for(int j=0;i<=len;i++) { s2[j++]=s1[i]; } s3=s1; s4=s2; str.insert(map<string,string>::value_type(s4,s3)); } while(~scanf("%s",s1)){ s3=s1; iter=str.find(s3); if(iter!=str.end()) cout<<iter->second<<endl; else cout<<"eh"<<endl; } return 0; }