import sys
input = sys.stdin.readline
N = int(input())
A= []
B = []
C = []
D = []
for _ in range(N):
a,b,c,d = map(int,input().split())
A.append(a)
B.append(b)
C.append(c)
D.append(d)
part_one = {}
for a in A:
for b in B:
if part_one.get(a+b):
part_one[a+b] += 1
else:
part_one[a+b] = 1
answer = 0
for c in C:
for d in D:
temp_sum = -(c+d)
if part_one.get(temp_sum):
answer += part_one[temp_sum]
print(answer)
# skrud3021 님 코드 공부한거
N = int(input())
A,B,C,D = [],[],[],[]
for _ in range(N):
a,b,c,d = map(int,input().split())
A.append(a)
B.append(b)
C.append(c)
D.append(d)
ab_sum = [i+j for i in A for j in B]
ab_sum.sort()
ab_sum.append(2<<29+1)
cd_sum = [i+j for i in C for j in D]
cd_sum.sort(reverse=True)
cd_sum.append(2<<29+1)
ab_ind = 0
cd_ind = 0
result = 0
while ab_ind <N**2 and cd_ind<N**2:
sum_mid = ab_sum[ab_ind] + cd_sum[cd_ind]
if sum_mid > 0:
cd_ind += 1
elif sum_mid < 0:
ab_ind += 1
else:
ab_start_ind = ab_ind
cd_start_ind = cd_ind
ab_value = ab_sum[ab_ind]
cd_value = cd_sum[cd_ind]
while ab_value == ab_sum[ab_ind]:
ab_ind += 1
while cd_value == cd_sum[cd_ind]:
cd_ind += 1
result = result + (ab_ind-ab_start_ind)*(cd_ind-cd_start_ind)
print(result)
'알고리즘 > 백준_복기_미완료' 카테고리의 다른 글
[BOJ/백준] 7579 앱 (0) | 2021.05.04 |
---|---|
[BOJ/백준] 6209 제자리 멀리뛰기 (0) | 2021.05.04 |
[BOJ/백준] 6987 월드컵 (0) | 2021.05.03 |
[BOJ/백준] 6236 용돈 관리 (0) | 2021.05.03 |
[BOJ/백준] 6137 문자열 생성 (0) | 2021.05.03 |