dh-winternagi 님의 블로그
(2166) 다각형의 면적 본문
https://www.acmicpc.net/problem/2166
단계별로 풀어보기
39단계(기하 2) 1번째
기하, 정수론 같은 수학 카테고리는 알고리즘 능력 이전에 수학 지식이 있어야 하는 경우가 많다.
입력이 다각형을 이루는 순서대로 주어지므로, 신발끈 공식을 구현하면 된다.

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cout << fixed;
cout.precision(1);
int n;
long s= 0;
cin >> n;
vector<pair<long,long>> v(n);
for(int i=0;i<n;i++) cin >> v[i].first >> v[i].second;
v.push_back(v[0]);
for(int i=1;i<v.size();i++){
s+= (v[i-1].first*v[i].second)-(v[i].first*v[i-1].second);
}
cout << abs(1.0*s/2.0);
return 0;
}'백준 (C++) > Solve' 카테고리의 다른 글
| (25308) 방사형 그래프 (0) | 2026.04.22 |
|---|---|
| (11758) CCW (0) | 2026.04.21 |
| (33918) 맛있는 스콘 만들기 (0) | 2026.04.21 |
| (15678) 연세워터파크 (0) | 2026.04.21 |
| (5977) Mowing the Lawn (0) | 2026.04.21 |
