본문 바로가기
카테고리 없음

백준2166🐨다각형의 면적-신발끈 공식

by redcubes 2025. 1. 19.

2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y 좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.

출력

첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다.

제약 조건

시간 제한 2 초
메모리 제한 128 MB

예제 입력/출력

입력

4
0 0
0 10
10 10
10 0

출력

100.0

def s():
    n,*p=map(int,open(0).read().split())
    a=sum(p[i]*p[i+3]-p[i+2]*p[i+1]for i in range(0,2*n-2,2))+p[2*n-2]*p[1]-p[0]*p[2*n-1]
    print(f"{abs(a)/2:.1f}")
s()