uva1152

作者: Amosasas | 来源:发表于2017-11-18 17:04 被阅读0次

我发现元素是可以重复的,也就是可以有多种组合。。。。。

// UVa1152 4 Values Whose Sum is Zero

// Rujia Liu

#include<cstdio>

#include<algorithm>

using namespace std;



const int maxn = 4000 + 5;

int n, c, A[maxn], B[maxn], C[maxn], D[maxn], sums[maxn*maxn];



int main() {

  int T;

  scanf("%d", &T);

  while(T--) {

    scanf("%d", &n);

    for(int i = 0; i < n; i++)

      scanf("%d%d%d%d", &A[i], &B[i], &C[i], &D[i]);

    c = 0;

    for(int i = 0; i < n; i++)

      for(int j = 0; j < n; j++)

        sums[c++] = A[i] + B[j];

    sort(sums, sums+c);

    long long cnt = 0;

    for(int i = 0; i < n; i++)

      for(int j = 0; j < n; j++)

        cnt += upper_bound(sums, sums+c, -C[i]-D[j]) - lower_bound(sums, sums+c, -C[i]-D[j]);

    printf("%lld\n", cnt);

    if(T) printf("\n");

  }

  return 0;

}

相关文章

  • uva1152

    我发现元素是可以重复的,也就是可以有多种组合。。。。。

网友评论

      本文标题:uva1152

      本文链接:https://www.haomeiwen.com/subject/vqtyuxtx.html