提交时间:2024-01-25 08:06:09
运行 ID: 127152
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int n; struct word{ string eng,mac; }a[N]; bool cmp(word x,word y) { return x.mac<y.mac; } int main() { string s; while(getline(cin,s) && s != "") { n++; string x,y; int ix = 0; for(int i=0;i<s.size();i++) if(s[i]==' ') ix = i; for(int i=0;i<ix;i++) a[n].eng += s[i]; for(int i=ix+1;i<s.size();i++) a[n].mac += s[i]; } sort(a+1,a+n+1,cmp); while(cin>>s) { int l=1,r=n; bool f=0; while(l<=r) { int mid=l+r>>1; if(a[mid].mac==s) { cout<<a[mid].eng<<endl; f=1; break; } else if(a[mid].mac<s) { l=mid+1; } else { r=mid-1; } } if(!f)cout<<"eh\n"; } return 0; }