poj 2503 Babelfish
2011-10-11 00:09
295 查看
本来想试试那个ELFHash算法的功力的,哪知道错了,还是我三行的hash好。。。
#include <iostream>#include <cstdio>#include <string.h>#include <map>using namespace std;map<int,char*> M;int ELFHash(const char * str){ int hash = 0; while(*str) hash = hash*107%10000007 + *str++; return hash; //unsigned int hash = 0; //unsigned int x = 0; //while (*str) //{ // hash = (hash << 4) + (*str++); // if ((x = hash & 0xF0000000L) != 0) // { // hash ^= (x >> 24); // hash &= ~x; // } //} //return (hash & 0x7FFFFFFF);}void getData(const char* buf){ char *fir,*sec; int idx=0; fir = (char *)malloc(11*sizeof(char)); sec = (char *)malloc(11*sizeof(char)); while((*(fir+idx++) = *buf++) != ' '); *(fir+ --idx) = '\0'; idx = 0; while( (*(sec+idx++) = *buf++ ) != '\0'); M[ELFHash(sec)] = fir;}int main(){ char buf[30]; while(gets(buf),*buf) getData(buf); while(gets(buf)){ int hash = ELFHash(buf); if(M.find(hash) == M.end() ) printf("eh\n"); else printf("%s\n",M[hash]); } return 0;}
相关文章推荐
- poj 2503 Babelfish
- POJ2503————Babelfish
- poj2503 Babelfish (hash)
- poj 2503 Babelfish
- POJ 2503 Babelfish
- POJ 2503 Babelfish(人造字典map)
- POJ 2503 Babelfish
- POJ2503——Babelfish
- POJ 2503 Babelfish
- poj-2503-Babelfish
- poj2503——Babelfish(STL,map)
- poj 2503 Babelfish 字典树
- POJ 2503 Babelfish ,map
- poj 2503 Babelfish(字典树·翻译)
- POJ 2503 Babelfish
- POJ 2503 Babelfish(字典树水题)
- poj-2503 Babelfish
- POJ 2503 Babelfish
- POJ-2503 Babelfish 二分+快排
- poj 2503 Babelfish