신발끈 공식을 이용하여 순서대로 정렬된 좌표들에 대하여 다각형의 면적을 구하는 문제이다.
- 다행히도 문제에서 인접한 좌표들을 순서대로 주어 신발끈 공식을 이용하여 다각형의 면적을 반복문 하나로 구할 수 있게 된다.
- 신발끈 공식은 가우스의 면적 공식 or 사선 공식으로도 불리우며 이론상 블록다각형이든 오목다각형이든 관계없이 적용하여 넓이를 구할 수 있다고 한다.
import sys
input = sys.stdin.readline
n = int(input())
arr = []
for _ in range(n) :
a, b = map(int,input().split())
arr.append((a,b))
area = arr[n-1][0]*arr[0][1] - arr[0][0]*arr[n-1][1]
for i in range(n-1) :
area += (arr[i][0]*arr[i+1][1]) - (arr[i][1]*arr[i+1][0])
area /= 2
if area < 0 :
area = -area
print(area)