====== Icebergs ====== ===== 풀이 ===== * 각 빙산의 넓이를 각각 구해서 더하기만 하면 된다. 각 빙산은 다각형이므로 [[ps:이론:다각형#다각형의 넓이]]를 구하는 공식을 쓰면 된다. * 빙산 한개의 넓이를 구하는데에 O(P)이므로 빙산 N개의 넓이를 구하는데에는 O(NP)가 걸린다. ===== 코드 ===== """Solution code for "BOJ 18298. Icebergs". - Problem link: https://www.acmicpc.net/problem/18298 - Solution link: http://www.teferi.net/ps/problems/boj/18298 Tags: [geometry] """ import sys from teflib import geometry def main(): N = int(sys.stdin.readline()) twice_of_area = 0 for _ in range(N): P = int(sys.stdin.readline()) points = [ [int(x) for x in sys.stdin.readline().split()] for _ in range(P) ] twice_of_area += geometry.twice_of_polygon_area(points) print(twice_of_area // 2) if __name__ == '__main__': main() * Dependency: [[:ps:teflib:geometry#twice_of_polygon_area|teflib.geometry.twice_of_polygon_area]] {{tag>BOJ ps:problems:boj:골드_5}}