uva1152

来源:互联网 发布:域名证书是什么 编辑:程序博客网 时间:2024/06/16 13:26

中途相遇法

不好好读题害死人啊,空行的问题!

#include<cstdio>#include<cstring>#include<algorithm>#define LL long longconst int maxn = 4000+10;using namespace std;int a[maxn],b[maxn],c[maxn],d[maxn],p[maxn*maxn];int main(){    int T,n;    scanf("%d",&T);    while(T--)    {       int cas=0;        memset(p,0,sizeof(p));        memset(a,0,sizeof(a));        memset(b,0,sizeof(b));        memset(c,0,sizeof(c));        memset(d,0,sizeof(d));        scanf("%d",&n);        for(int i=0; i<n; i++)            scanf("%d %d %d %d",&a[i],&b[i],&c[i],&d[i]);        for(int i=0; i<n; i++)            for(int j=0; j<n; j++)            {                p[cas++]=a[i]+b[j];            }        sort(p,p+cas);         LL  cnt=0;        for(int i=0; i<n; i++)            for(int j=0; j<n; j++)            {                int temp=-c[i]-d[j];                cnt+=(LL)(upper_bound(p,p+cas,temp)-lower_bound(p,p+cas,temp));            }        printf("%lld\n",cnt);        if(T)printf("\n");    }    return 0;}



0 0
原创粉丝点击