Loading...
2023. 8. 31. 21:10

다각형 내부의 격자점 수를 셀 수 있을까 - 픽의 정리(pick's theorem) + (선분에 있는 격자점의 개수 세는 방법)

1. 픽의 정리(pick's theorem) 좌표가 모두 정수인 점을 격자점(lattice)이라고 부른다. 2차원 좌표평면에서 모든 꼭짓점이 격자점인 다각형이 자기 자신이 교차하지 않을때(not self-interaction), 넓이가 A이고 내부에 있는 격자점의 개수가 I이며 둘레(변)에 있는 격자점의 개수가 B이면... $$A = I + \frac{B}{2} - 1$$이 성립한다. 여러 경우의 수로 나눠서 증명하는데, 조금 까다롭다... 읽어보는걸로 만족하고 생략 https://www.youtube.com/watch?v=GTeZd_IdcoY 영상이 설명을 잘해주고 있는데... 주어진 다각형을 내부의 격자점 수가 0개이고 경계선 위 격자점의 개수가 3개인 삼각형으로 도형을 모두 분할할 수 있고, 이 삼..

2023. 3. 5. 17:03

평면 상의 다각형의 넓이 구하는 신발끈 공식 구현

1. 문제 2166번: 다각형의 면적 (acmicpc.net) 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 2. 풀이 2차원 평면상에 n개의 점으로 이루어진 다각형의 넓이를 구하는 방법으로 신발끈 공식이라고 있다 유도는 생략하고 그냥 그대로 구현해보자 2개의 x만 가지는 리스트와 y만 가지는 리스트를 구한다 x 리스트를 인덱스로 순회해서, 1칸 앞 인덱스의 y와 곱해서 합해주고 y리스트를 인덱스로 순회해서 1칸 앞 인덱스의 x와 곱해서 합해주고 두 결과를 빼서 절댓값을 취하면 될 것 from sys import stdin n = i..