zoukankan      html  css  js  c++  java
  • poj 2785

    哈希

    我太屎啦,以后一定不能再犯写while循环忘了更改循环条件的错误,导致浪费这么长时间来调试

    #include <iostream>
    #include <cstdio>
    using namespace std;
    const int mod=10000003;
    const int maxn=4100;
    struct 
    {
    	int data,sum,next;
    }node[maxn*maxn];
    int head[mod],f[4][maxn],num;
    void insert(int p)
    {
    	int k=(p%mod+mod)%mod;
    	int i=head[k];
    	while(i!=-1)
    	{
    		if(node[i].data==p)
    		{
    			node[i].sum++;
    			break;
    		}
    		i=node[i].next;
    	}
    	if(i==-1){
    		node[num].data=p;node[num].next=head[k];node[num].sum=1;
    		head[k]=num;
    		num++;
    	}
    }
    int find(int p)
    {
    	int k=(p%mod+mod)%mod;
    	int i=head[k];
    	while(i!=-1)
    	{
    		if(node[i].data==p) return node[i].sum;
    		i=node[i].next;
    	}
    	return 0;
    }
    int main()
    {
    		int n;
    		scanf("%d",&n);
    		num=0;
    		int i,j;
    		memset(head,-1,sizeof(head));
    		for(i=0;i<n;i++)
    		{
    			 scanf("%d%d%d%d",&f[0][i],&f[1][i],&f[2][i],&f[3][i]);
    		}
    		for(i=0;i<n;i++)
    		{
    			for(j=0;j<n;j++)
    			{
    				insert(f[0][i]+f[1][j]);
    			}
    		}
    		int tot=0;
    		for(i=0;i<n;i++)
    		{
    			for(j=0;j<n;j++)
    			{
    				tot+=find(-(f[2][i]+f[3][j])) ;
    			}
    		}
    		cout<<tot<<endl;
    
    	return 0;
    }


  • 相关阅读:
    python之map,filter
    python函数的闭包
    Hibernate查询对象的方法浅析
    底部浮动
    DataGrid-自定义排序
    DataGrid-1
    Alert
    2014-01-04 SQL练习
    proguard-gui 混淆代码简要笔记
    vim利用coc补全的配置过程
  • 原文地址:https://www.cnblogs.com/lj030/p/3002279.html
Copyright © 2011-2022 走看看