POJ-2503 Babelfish 二分+快排
来源:互联网 发布:java 网站源码 编辑:程序博客网 时间:2024/04/29 20:53
题目的意思:就像查找一本字典,根据输入的条目和要查询的单词,给出查询结果(每个单词长度不超过10)
刚开始用STL里面的map去做,结果华丽丽的TLE了,用了快排和二分去做
#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <algorithm>using namespace std;const int MAX=100001;typedef struct{char a[11];char b[11];}Entry;Entry entry[MAX];int i=0;int cmp(const void*a,const void*b){return strcmp((*(Entry *)a).b, (*(Entry *)b).b); }int search(char c[]){int low=0;int high=i-1;int mid,temp;while(low<=high){mid=(low+high)/2;temp=strcmp(entry[mid].b,c);if(temp==0){return mid;}else{if(temp==-1) { low=mid+1; } else { high=mid-1; }}}return -1;}int main(){char s[25];int count=1;while(gets(s)){if(s[0]=='\0'){break;}sscanf(s,"%s%s",entry[i].a,entry[i].b);i++;}qsort(entry,i,sizeof(Entry),cmp);while(gets(s)){count=search(s);if(count==-1){cout<<"eh"<<endl;}else{cout<<entry[count].a<<endl;}}return 0;}
0 0
- POJ-2503 Babelfish 二分+快排
- poj 2503 Babelfish(广义索引类线性表:快排+二分)
- POJ 2503 Babelfish(map,字典树,快排+二分,hash)
- POJ 2503 - 二分+快排
- poj 2503 Babelfish(二分)
- POJ 2503 Babelfish 二分
- poj 2503 Babelfish (map / 二分)
- POJ 2503 Babelfish(二分查找)
- 快排 + 二分查找
- 快排,二分查找
- 快排 + 二分
- 快排,二分查找
- 二分 + 快排
- poj 2804 词典 (字典树 或者 快排+二分)
- poj Babelfish(二分||map)
- POJ 2503 Babelfish(map或hash或排序二分)
- POJ 2503 Babelfish(STL、二分、字典树、哈希)
- poj-2623 快排
- ZOJ-2732
- android-如何从Play.google.com上下载APK文件到电脑
- 最长公共子序列
- 读书笔记——Windows环境下32位汇编语言程序设计(13)关于EXCEPTION_DEBUG_INFO结构体
- C# 系统应用之清除Cookies、IE临时文件、历史记录
- POJ-2503 Babelfish 二分+快排
- seo成功案例的背后秘密(上)
- linux下使用yum安装gcc的几点心得
- 伙伴分配器的一个极简实现
- 百度给站长们的一些网站质量方面的建议
- src/hwif和src/drv的区别
- spring回顾笔记
- storm培训视频
- HASH入门 POJ1840