728x90
https://www.acmicpc.net/problem/2166
메모리: 17,176 KB , 시간: 132 ms
사용 알고리즘: 기하학, 다각형의 넓이
기하학의 신발끈 공식이라는 개념이 필요한 문제이다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
long[][] points = new long[N + 1][2];
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
points[i][0] = Long.parseLong(st.nextToken());
points[i][1] = Long.parseLong(st.nextToken());
}
points[N] = points[0];
long sum1 = 0L, sum2 = 0L;
for (int i = 0; i < N; i++) {
sum1 += points[i][0] * points[i + 1][1];
sum2 += points[i][1] * points[i + 1][0];
}
System.out.printf("%.1f", Math.round(Math.abs(sum1 - sum2) / 2.0 * 10) / 10.0);
}
}728x90
'Problem Solving > BOJ' 카테고리의 다른 글
| [백준, BOJ 16967] 배열 복원하기 (java) (0) | 2025.12.09 |
|---|---|
| [백준, BOJ 1072] 게임 (java) (0) | 2025.12.07 |
| [백준, BOJ 13302] 리조트 (java) (0) | 2025.07.26 |
| [백준, BOJ 2661] 좋은수열 (java) (0) | 2025.07.02 |
| [백준, BOJ 2661] 좋은수열 (java) (0) | 2025.06.24 |