2563_색종이

minjun kim·2024년 4월 29일

Check Point !
( 해당사항 ✓체크 )

막힘 없이 수월하게 풀린 문제인가? ✅

1시간이내로 풀렸던 문제인가?

1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?

시간을 써도 도무지 풀 수 없는 문제인가?

솔루션을 찾아봤는가? ✅

난이도 체감

최상

하 ✅ (실5)

<이해도>

완벽히 이해 ✅

다소 헷갈리는 부분들이 있음

이해 못함


문제

https://www.acmicpc.net/problem/2563

t = int(input())


board = [[0] * 100 for _ in range(100)]

for _ in range(t):
    x,y = map(int,input().split())
    
    for i in range(10):
        for j in range(10):
            board[x+i][y+j] += 1

cnt = 0
for i in board:
    for j in i:
        if j:
            cnt += 1
    
print(board)
print(cnt)

아이디어

몬테칼로 적분법이라고 어떤 함수의 특정 구간에서의 넓이를 구하고 싶다면, 일정한 개수의 점을 균일하게 분포시켜서 해당 함수 이내에 점이 몇 개 찍혀있는지를 파악하여 근사적으로 넓이를 구하는 방법.

아이디어를 빌려오자면 리스트에 겹치는 부분을 모두 1로 통일 하거나 1을 더해서 리스트로 표현한다면
도형을 빼거나, 더하거나 힐 필요는 없다는 것이다.

해당 아이디어가 떠오르는데까지 생각을 못했다. 조금더 노력해보자.

profile
배움의 흔적을 남기고 싶습니다.

0개의 댓글