题目:http://poj.org/problem?id=1200
最近看了一个关于hash的问题,不是很明白,于是乎就找了些关于这方面的题目,这道题是一道简单的hash 字符串题目,就先从他入手吧。
题目说字串的最大数量不超过16Millions,也就是字串的存储16000000就够了。
查看网上给出的hash映射是把字串映射成为一个NC进制的数字每个字串都是一个数字。
#include <stdio.h> #include <iostream> using namespace std; const int MAX = 16000005; const int NUM = 260; bool ha[MAX];//存储hash映射 char str[MAX];//存储元字符串 int num[NUM];//存储映射的数字 int main (void) { int n,nc,sum,count=0,ans=0; memset(num,0,sizeof(num)); memset(str,'