-
백준 7453 - 합이 4인 네 정수 (Python)BOJ PS/Python 2023. 4. 8. 16:48
https://acmicpc.net/problem/7453
7453번: 합이 0인 네 정수
첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다.
www.acmicpc.net
이렇게 푸는 문제가 아닌 것 같은데, 이렇게 풀었다.
import sys input=sys.stdin.readline n = int(input()) al, bl, cl, dl = [], [], [], [] ab= dict() # ab의 합을 저장해둘 딕셔너리. ans=0 for _ in range(n): a, b, c, d = map(int, input().split()) al.append(a) bl.append(b) cl.append(c) dl.append(d) for a in al: for b in bl: if a + b not in ab: ab[a + b]=1 else: ab[a+b]+=1 for c in cl: for d in dl: if -(c + d) in ab: # c,d의 합을 모두 돌면서 ab 안에 그것의 보수가 있으면 그만큼 정답에 추가. ans += ab[-(c+d)] print(ans)
'BOJ PS > Python' 카테고리의 다른 글
백준 2887 - 행성 터널 (Python) (0) 2023.04.08 백준 19236 - 청소년 상어 (Python) (0) 2023.04.08 백준 21609 - 상어 중학교 (Python) (0) 2023.04.08 백준 27931 - Parity Constraint Closest Pair (Easy) (Python) (0) 2023.04.08 백준 1135 - 뉴스 전하기 (Python) (0) 2023.03.31