4775158_ac_375ms_2936k.cpp
来自「部分PKU上的源码」· C++ 代码 · 共 46 行
CPP
46 行
#include<iostream>
#include<stdlib.h>
using namespace std;
char x[100005][2][12];
int i;
int shun[100005];
char s[12];
int compare(const void*p1,const void *p2)
{
int q1=*(int*)p1;
int q2=*(int*)p2;
return strcmp(x[q1][1],x[q2][1]);
}
void bs(char s[])
{
int left=0,right=i-1;
while(left<=right)
{
int mid=(left+right)/2;
int re=strcmp(x[shun[mid]][1],s);
if(re==0){printf("%s\n",x[shun[mid]][0]);return;}
if(re>0)right=mid-1;
else left=mid+1;
}
printf("eh\n");
}
int main()
{
i=0;
while(1)
{
char a=getchar();
if(a=='\n') break;
x[i][0][0]=a;
scanf("%s%s",x[i][0]+1,x[i][1]);
getchar();
shun[i]=i;
i++;
}
qsort(shun,i,sizeof(int),compare);
while(scanf("%s",s)!=EOF)
{
bs(s);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?