https://www.acmicpc.net/problem/2166
Gold V
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main (String[] args) throws IOException {
//basic setups
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
long[] x = new long[N+1];
long[] y = new long[N+1];
long sum1 = 0, sum2 = 0;
for (int i = 0; i < N; ++i) {
StringTokenizer st = new StringTokenizer(br.readLine());
x[i] = Long.parseLong(st.nextToken());
y[i] = Long.parseLong(st.nextToken());
}
x[N] = x[0];
y[N] = y[0];
//shoelace
for (int i = 0; i < N; ++i) {
sum1 += x[i]*y[i+1];
sum2 += x[i+1]*y[i];
}
System.out.printf("%.1f", Math.round(Math.abs(sum1 - sum2) / 2.0 * 10.0) / 10.0);
}
}
기하 문제는 오랜만이라 신발끈 정리를 까먹고 있었다(...)
기억하라는 차원에서 기록을 남김.
문제를 풀려고 고민하다가 신발끈 정리를 알아서 유도했...다는건 안비밀