https://www.acmicpc.net/problem/2166
N개의 점으로 이루어진 다각형의 넓이 출력사각형의 넓이를 구하는 것이었다면 굉장히 쉬웠겠지만 ..
문제의 조건을 보면 N은 3 이상 10000이하의 크기를 갖고 있습니다.
어떻게 접근을 해야할까 고민하던 중, 고등학교 시절 기하와 벡터에서 배웠던 신발끈 공식이 생각이 나서 이를 이용해 풀었습니다.

좌표평면 상에서 다각형의 꼭짓점 좌표를 알 때 그 면적을 구하는 방법

모든 좌표를 세로로 나열하고, x1은 y2와 곱해 더하고, y1은 x2와 곱해 빼는 방식으로 계산합니다.
좌표를 모두 계산한 결과를 2로 나누어 주면 구하고자 하는 도형의 넓이를 구할 수 있습니다.
여기서 유의할 점은 마지막 좌표까지 모두 계산을 해주어야 한다는 것입니다.(마지막 x,y는 첫번째 x,y와 계산)
참고: https://soooom.tistory.com/449
answer = 0
for i in range(n):
x1,y1 = graph[i]
x2,y2 = graph[(i+1) % n]
answer += (x1 * y2 - x2 * y1)
answer = abs(answer) / 2
n개의 좌표를 모두 탐색을 진행x2, y2는 마지막 좌표일 경우 첫번째 좌표와 계산을 진행해야하기 때문에, mod n을 추가해줍니다.import sys
input = sys.stdin.readline
n = int(input())
graph = [list(map(int,input().split())) for _ in range(n)]
answer = 0
for i in range(n):
x1,y1 = graph[i]
x2,y2 = graph[(i+1) % n]
answer += (x1 * y2 - x2 * y1)
answer = abs(answer) / 2
print(f'{answer:.1f}')