POJ 2503.Babelfish
来源:互联网 发布:苹果电脑办公软件下载 编辑:程序博客网 时间:2024/09/21 06:37
题目:http://poj.org/problem?id=2503
AC代码(C++):
#include <iostream>#include <algorithm>#include <stdio.h>#include <vector>#include <queue>#include <math.h>#include <string>#include <string.h>#include <bitset>#define INF 0xfffffff#define MAXN 100005using namespace std;const int N = 100005;const int H = 99997;struct Node { char f[12]; char e[12]; int next;}; Node node[N];int cur;int hashTable[H];void initHash() { cur = 0; for (int i = 0; i < H; ++i) hashTable[i] = -1; }int getHash(char* f){int hash = 0;for(int i = 0; f[i]!='\0'; i++)hash += (f[i] - 'a') * (int)pow(4.0,i+1) % H;return hash%H;} void insertHash(char* f, char* e){int h = getHash(f); strcpy(node[cur].f,f); strcpy(node[cur].e,e); node[cur].next = hashTable[h]; hashTable[h] = cur; cur++;}bool searchHash(char* f){ int h = getHash(f); int next = hashTable[h]; while (next != -1) { if (strcmp(node[next].f,f)==0){ strcpy(f,node[next].e); return true; } next = node[next].next; } return false;}int main(){char f[12];char e[12];char tmp;initHash();while(1){if((tmp = getchar())=='\n')break;e[0] = tmp;int cnt = 1;while(1){if((tmp = getchar())==' ')break;e[cnt++] = tmp;}e[cnt] = '\0';cin>>f;getchar();insertHash(f,e);}while(cin>>f){if(searchHash(f))cout<<f<<endl;else cout<<"eh\n";}}总结: 简单的串哈希. 听说用map做的更快.
阅读全文
0 0
- poj 2503.Babelfish
- POJ 2503.Babelfish
- poj Babelfish
- Babelfish POJ
- poj 2503 Babelfish
- POJ 2503 Babelfish(HASH)
- poj 2503 Babelfish
- POJ 2503 Babelfish
- POJ 2503 Babelfish
- poj 2503 Babelfish
- POJ 2503 Babelfish
- poj 2503 Babelfish 【hash】
- poj 2503 Babelfish【trie】
- POJ 2503 Babelfish
- poj-2503 Babelfish
- poj-2503 Babelfish
- poj 2503 Babelfish
- poj 2503 Babelfish
- Element UI DatePicker 日期选择器
- 有 1、2 、3 、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 设置开机自启动并重启
- Android查看.jks文件信息
- java 连接 sqlserver
- POJ 2503.Babelfish
- spring框架学习之路(一)-入门基础(3)-IOC和AOP的综合应用
- 欢迎使用CSDN-markdown编辑器
- go build参数summary
- Apollo 在Windows下安装使用
- shaodowsocks配置
- Node.js应用实战和工作原理解析
- mui初级入门教程(一)— 小白入手mui的学习路线
- ORA-01555 快照过久说明