UVA(1152)

来源:互联网 发布:狼人杀 官方唯一 知乎 编辑:程序博客网 时间:2024/05/17 21:48
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>#include<map> #include<set>#include<sstream>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;}
0 0
原创粉丝点击