zoukankan      html  css  js  c++  java
  • poj 2503

    无限感慨啊,这道题半年前就做过,无限wa就放弃了,今天又重做这题,依旧没变无限wa,只不过这次敲了20分钟就完了,代码也简洁了,哈希函数直接自己构造的,比之前熟练了,然后检查,历经一个小时之后,才发现把'eh'当成了'en',改后ac,300ms,然后再翻出之前的代码,果然是同样的错误,回想起半年前的那一整个下午,真是欲哭无泪啊

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    const int maxn=100000+3;
    int head[maxn],next[maxn];
    char s1[maxn][15],s2[maxn][15];
    int hash(char *s)
    {
    	int k=0;
    	while(*s!='\0')
    	{
    		k=((k*26)%maxn+(*s-'a'))%maxn;
    		s++;
    	}
    	return k;
    }
    int main()
    {
    	char s[50];
    	memset(head,-1,sizeof(head));
    	int i=0;
    	while(gets(s))
    	{
    		if(sscanf(s,"%s %s",s1[i],s2[i])!=2) break;
    		int k=hash(s2[i]);
    		next[i]=head[k];
    		head[k]=i;
    		i++;
    	}
    	while(gets(s))
    	{
    		int k=hash(s);
    		for(i=head[k];i!=-1;i=next[i])
    		{
    			if(strcmp(s2[i],s)==0)
    			{
    				printf("%s\n",s1[i]);
    				break;
    			}
    		}
     		if(i==-1) printf("eh\n");
    	}
    	return 0;
    }
    


     

  • 相关阅读:
    9.19 数组 冒泡排序和二分法
    9,18 考试
    html5学习拓展
    第七天,
    第六天 js 开始
    第五天 列表 流
    第四天 样式,框架
    硬件攻城狮设计需要考量的11个关键因素
    步进电机的驱动方式
    MOS管防反接电路设计
  • 原文地址:https://www.cnblogs.com/lj030/p/3002219.html
Copyright © 2011-2022 走看看