728x90
반응형
단순 수학 문제이다. 수열의 첫 번째 값만 찾으면 뒤는 쉽다.
1) a-b = a+c - (b+c) = li[0][2]-li[1][2]
2) a = (a+b + a-b)/2 = (li[0][1] + li[0][2]-li[1][2])/2
3) b = a+b - a = li[0][1] - a, c = a+c - a = li[0][2] - a, ...
그리고 N = 2일 때는 그냥 따로 처리해주는 게 맞는 것 같다.
EX) N = 2, 입력 [[2, 0], [0, 2]] -> 1 1 출력
N = int(input())
li = [list(map(int, input().split())) for _ in range(N)]
if N == 2:
print(1, 1)
else:
res = [(li[0][1] + li[0][2]-li[1][2])//2]
for i in range(1, N):
res.append(li[0][i]-res[0])
print(*res)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 5800번 성적 통계(python) (0) | 2021.02.24 |
---|---|
백준 알고리즘 5635번 생일(python) (0) | 2021.02.24 |
백준 알고리즘 5555번 반지(python) (0) | 2021.02.24 |
백준 알고리즘 2018번 수들의 합 5(python) (0) | 2021.02.24 |
백준 알고리즘 1969번 DNA(python) (0) | 2021.02.24 |