标签:style blog http java color os 数据 io
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay
cat eh loops
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <vector> 6 #include <climits> 7 #include <algorithm> 8 #include <cmath> 9 #include <map> 10 #define LL long long 11 #define INF 0x3f3f3f 12 using namespace std; 13 map<string,string>dic; 14 char str[200],a[100],b[100],word[100]; 15 int main(){ 16 while(gets(str) && str[0] != ‘\0‘){ 17 sscanf(str,"%s %s",a,b); 18 dic.insert(pair<string,string>(b,a)); 19 } 20 map<string,string>::iterator it; 21 while(gets(word)){ 22 if(dic.count(word)) { 23 it = dic.find(word); 24 printf("%s\n",it->second.c_str()); 25 }else puts("eh"); 26 } 27 return 0; 28 }
下面是折半查找的代码,速度很快,代码很短,很喜欢呀。。。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <vector> 6 #include <climits> 7 #include <algorithm> 8 #include <cmath> 9 #include <map> 10 #define LL long long 11 #define INF 0x3f3f3f 12 using namespace std; 13 struct word { 14 char from[20],to[20]; 15 } dic[100010]; 16 bool cmp(const word &a,const word &b) { 17 if(strcmp(a.from,b.from) <= 0) 18 return true; 19 return false; 20 } 21 int bsearch(int lt,int rt,char *str) { 22 int mid; 23 while(lt <= rt) { 24 mid = (lt+rt)>>1; 25 if(strcmp(dic[mid].from,str) == 0) return mid; 26 if(strcmp(str,dic[mid].from) < 0) rt = mid-1; 27 else lt = mid+1; 28 } 29 return -1; 30 } 31 int main() { 32 int cnt = 0,i,ans; 33 char str[50]; 34 while(gets(str) && str[0] != ‘\0‘) { 35 sscanf(str,"%s %s",dic[cnt].to,dic[cnt].from); 36 cnt++; 37 } 38 sort(dic,dic+cnt,cmp); 39 while(gets(str)) { 40 ans = bsearch(0,cnt,str); 41 if(ans == -1) puts("eh"); 42 else printf("%s\n",dic[ans].to); 43 } 44 return 0; 45 }
xtu字符串 A. Babelfish,布布扣,bubuko.com
标签:style blog http java color os 数据 io
原文地址:http://www.cnblogs.com/crackpotisback/p/3868884.html