POJ(2503)(两种方法,二分,Map)
来源:互联网 发布:蒸膳美分店网络 编辑:程序博客网 时间:2024/04/28 08:52
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int INF = 0x3f3f3f3f;struct node{ char str1[15]; char str2[15];}letter[100005];bool cmp(node a, node b){ return strcmp(a.str2,b.str2)<=0;}int BinarySearch(node a[], int size, char* str){ int left = 1; int right = size; int m = left + (right - left) / 2; while (left <= right) { if (strcmp(a[m].str2, str) == 0) { return m; } else if (strcmp(a[m].str2, str) < 0) { left = m + 1; m = left + (right - left) / 2; } else { right = m - 1; m = left + (right - left) / 2; } } return -1;}int main(){ char str[30]; int k; k = 1; while (gets(str)) { if (str[0] == '\0') break; sscanf(str,"%s%s", letter[k].str1, letter[k].str2); k++; } sort(letter + 1, letter + k,cmp); while (gets(str)) { int index = BinarySearch(letter, k - 1, str); if (index == -1) printf("eh\n"); else printf("%s\n", letter[index].str1); } return 0;}
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>#include<map>using namespace std;const int INF = 0x3f3f3f3f;int main(){ char str1[15], str2[15],str[30]; map<string,string> Map; while (gets(str)) { if (strlen(str) == 0) break; sscanf(str, "%s %s", str1, str2); Map[str2] = str1; } string str3, temp; while (cin >> str3) { temp = Map[string(str3)]; if (temp.length()== 0) cout << "eh" << endl; else cout << temp << endl; } return 0;}
0 0
- POJ(2503)(两种方法,二分,Map)
- poj Babelfish(二分||map)
- HDOJ2899(二分,三分两种方法)
- poj 2503 Babelfish (map / 二分)
- POJ 2503 Babelfish 字典树经典题 三种方法 (map,排序+二分,字典树)
- 二分查找(递归和非递归两种方法)
- 二分查找 (循环、递归两种方法)
- poj 2503(map)
- POJ 2296 Map Labeler ( 2-SAT判定 + 二分查找 )
- POJ 2296 Map Labeler(2-SAT+二分)
- POJ 2296 Map Labeler (二分+2-sat,4级)
- poj 2296 Map Labeler(2-SAT+二分,构图)
- poj 2296 Map Labeler (2-sat +二分)
- Map遍历的两种方式(首推entrySet())--遍历Map时删除元素的方法
- POJ 2503 Babelfish(map,字典树,快排+二分,hash)
- map两种遍历方法
- POJ 1698 Alice's Chance 最大流(两种算法)or二分匹配
- POJ 1102 经典模拟题(例举两种方法)
- JAVA 学习模块十二: Final 关键字 以及 继承(下)
- 【SPOJ COT2】Count on a tree II,树上莫队
- POJ 3261 Milk Patterns
- 物联网相关知识与应用
- java 源码学习1-String
- POJ(2503)(两种方法,二分,Map)
- Struts 2 输入检验
- java String.split()函数的用法分析
- 基于注解的SpringMVC基本配置
- 旅行家的预算
- 关于Intent的知识
- Spark Streaming小结
- Windows10无法调节亮度
- 图像置乱