[백준] 1531번 투명

거북이·2023년 9월 19일
0

백준[실버5]

목록 보기
112/114
post-thumbnail

💡문제접근

  • 투명 종이의 개수만큼 반복해 사각형 영역에 해당하는 좌표의 값을 1만큼 증가시키고 마지막에 2중 Loop를 통해서 M 이하의 값이라면 보이는 영역, M 초과의 값이라면 안 보이는 영역으로 계산해 안 보이는 영역의 넓이를 계산하는 전형적인 시뮬레이션 문제

💡코드(메모리 : 31256KB, 시간 : 92ms)

import sys
input = sys.stdin.readline

picture = [[0] * 101 for _ in range(101)]
N, M = map(int, input().strip().split())
for _ in range(N):
    x1, y1, x2, y2 = map(int, input().strip().split())
    # 종이로 덮힌 부분의 값을 1만큼 증가시킨다.
    for y in range(y1, y2+1):
        for x in range(x1, x2+1):
            picture[y][x] += 1

invisible_area = 0
for row in picture:
    for element in row:
        if element <= M:
            continue
        else:
            invisible_area += 1
print(invisible_area)

💡소요시간 : 7m

0개의 댓글