基于哈希表的解法
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6 + 10;
int a[N], b[N], c[N], d[N], scd[N];
void solve()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i] >> b[i] >> c[i] >> d[i];
}
map<int,int>mp;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scd[i * n + j] = d[j] + c[i];
mp[scd[i*n+j]]++;
}
}
int ans=0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
ans+=mp[-(a[i]+b[j])];
}
}
cout<<ans<<'\n';
}
signed main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int T;
T = 1;
// cin >> T;
while (T--)
solve();
return 0;
}