https://www.acmicpc.net/problem/2166
해결방법
- 신발끈의 공식을 이용한다.
https://ko.wikipedia.org/wiki/%EC%8B%A0%EB%B0%9C%EB%81%88_%EA%B3%B5%EC%8B%9D
코드
더보기
def ccw(x1,y1,x2,y2,x3,y3): #신발끈 공식
return (x1*y2 + x2*y3 + x3*y1) - (y1*x2 + y2*x3 + y3*x1)
num = int(input())
x, y = map(int, input().split())
info = []
for i in range(num - 1):
info.append(list(map(int, input().split())))
tmp = 0
for i in range(num - 2):
tmp += ccw(x,y,info[i][0],info[i][1],info[i+1][0],info[i+1][1])
print(abs(tmp)/2)
'알고리즘' 카테고리의 다른 글
백준_2941_크로아티아 알파벳 (0) | 2020.07.08 |
---|---|
백준_2188_축사 배정 (0) | 2020.03.25 |
백준_11758_CCW(CCW, 기학와 벡터) (0) | 2020.03.01 |
선분 교차 알고리즘 (0) | 2020.02.29 |
백준_1057_토너먼트(시뮬레이션) (0) | 2020.02.28 |
댓글