Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136160 | 陈家宝 | 神族文字 | C++ | 通过 | 100 | 567 MS | 6500 KB | 753 | 2024-03-08 13:16:19 |
#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; }