欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

POJ 2785 4 Values whose Sum is 0

程序员文章站 2022-06-17 19:48:28
...

POJ 2785 4 Values whose Sum is 0 

有 4 个序列,从每个序列中选一个数,求有多少种可能使得 4个数的和为0 

const int N=4e3+5;

    int n,m,t;
    int i,j,k;
    int a[N],b[N],c[N],d[N];
    int cd[N*N];
    
int main()
{
    //IOS;
    while(~sd(n)){
        for(i=0;i<n;i++){
            sdd(a[i],b[i]);
            sdd(c[i],d[i]);
        }
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                cd[i*n+j]=c[i]+d[j];
            }
        }
        sort(cd,cd+n*n);

        ll ans=0;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                int cur=-(a[i]+b[j]);
                ans+=upper_bound(cd,cd+n*n,cur)-lower_bound(cd,cd+n*n,cur);
            }
        }
        pld(ans);
    }
    //PAUSE;
	return 0;
}

 

相关标签: 双向搜索 POJ