POJ 2503 二分 还有一些基本字符串的处理
来源:互联网 发布:物流数据交换技术 编辑:程序博客网 时间:2024/05/22 00:07
二分嘛,还是 wata 版本的。
只要二分查找字符应该出现的位置就好了。就是查字典
#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>#include <vector>#include <map>#include <assert.h>#include <string>using namespace std;struct P{ char e[30]; char f[30]; bool operator < (const P &o) const { if(strcmp(f,o.f)>=0) return 0; return 1; }}dic[200000];void mySubstr(char* f,char* t,int s,int e){ for(int i=0;i<=e-s;i++) t[i]=f[s+i]; t[e+1]='\0';}int cnt;int main(){ freopen("acm.in","r",stdin); char t[50]; while(gets(t)) { cnt=0; do { int pos=0; while(t[pos]!=' ') pos++; mySubstr(t,dic[cnt].e,0,pos-1); mySubstr(t,dic[cnt].f,pos+1,strlen(t)-1); cnt++; }while(gets(t)&&t[0]!='\0'); sort(dic,dic+cnt); while(gets(t)) { int lb=0,ub=cnt; while(ub-lb>1) { int m=(lb+ub)>>1; if(strcmp(dic[m].f,t)>0) ub=m; else lb=m; } if(strcmp(dic[lb].f,t)==0) printf("%s\n",dic[lb].e); else puts("eh"); } } return 0;}
0 0
- POJ 2503 二分 还有一些基本字符串的处理
- POJ 3366//基本的字符串处理!
- 基本的字符串处理
- 一些字符串的处理
- 字符串的一些处理
- 字符串的一些基本操作
- 字符串的一些基本操作
- 字符串的一些基本操作
- poj 2895-字符串的处理
- 字符串的一些处理方法
- 字符串处理的一些技巧
- 字符串处理的一些题
- 字符串处理的一些总结
- 字符串处理的一些应用
- POJ 2503 字符串查找 qsort+二分查找
- c和汇编实现 一些基本字符串处理函数
- POJ 2503(简单map,字符串的处理)
- Java中字符串的一些基本操作
- 消息和事件的区别 VC++解惑
- C++ 的THUNK技术
- Android SQLite 打开、操作分析
- uva 1381 - Balancing the Scale(枚举+位运算)
- 已知二叉树的前序/后序遍历和中序遍历,求后序/前序遍历
- POJ 2503 二分 还有一些基本字符串的处理
- appfuse 解决乱码
- Java程序员面试技巧
- 2013校赛未A Min Number
- Android编程之LocalBroadcastManager源码详解
- VS2010 快捷键 (空格显示 绿点, Tab 显示箭头)
- python菜鸟学习第一课
- android:protectionLevel
- 2014之实习A计划