标签:
Time Limit: 3000MS | Memory Limit: 65536K | |
Total Submissions: 37238 | Accepted: 15879 |
Description
Input
Output
Sample Input
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay
Sample Output
cat eh loops 题解:此处用到了sscanf的用法,很巧妙;
代码:
1 #include<stdio.h> 2 #include<algorithm> 3 #include<string.h> 4 using namespace std; 5 const int MAXN=100010; 6 struct Node{ 7 char en[20],ei[20];//无语开小了。。。 8 }; 9 Node dt[MAXN]; 10 int cmp(Node a,Node b){ 11 return strcmp(a.ei,b.ei)<0; 12 } 13 int erfen(char *x,int l,int r){ 14 while(l<=r){ 15 int mid=(l+r)>>1; 16 if(!strcmp(dt[mid].ei,x))return mid; 17 if(strcmp(dt[mid].ei,x)>0)r=mid-1; 18 else l=mid+1; 19 } 20 return -1; 21 } 22 int main(){ 23 int dm=0; 24 char str[50]; 25 Node a; 26 while(gets(str)){ 27 if(str[0]==‘\0‘)break; 28 sscanf(str,"%s%s",a.en,a.ei);//这里很巧妙。。。 29 dt[dm++]=a; 30 } 31 sort(dt,dt+dm,cmp); 32 while(~scanf("%s",str)){ 33 int t=erfen(str,0,dm-1); 34 if(t==-1)puts("eh"); 35 else printf("%s\n",dt[t].en); 36 } 37 return 0; 38 }
标签:
原文地址:http://www.cnblogs.com/handsomecui/p/4836607.html