STUDY/Algorithm

[백준] 10163 색종이

sinawi95 2021. 2. 22. 22:34
728x90

www.acmicpc.net/problem/10163

 

10163번: 색종이

평면에 색깔이 서로 다른 직사각형 모양의 색종이 N장이 하나씩 차례로 놓여진다. 이때 색종이가 비스듬하게 놓이는 경우는 없다. 즉, 모든 색종이의 변은 서로 평행하거나, 서로 수직이거나 둘

www.acmicpc.net

width = height = 101
board = [[0]*width for _ in range(height)]

def cover(number, s_col, s_row, wid, hei):
    for row in range(s_row, s_row + hei):
        for col in range(s_col, s_col + wid):
            board[row][col] = number


n = int(input()) #색종이의 장수를 나타내는 정수 N (1 ≤ N ≤ 100)
for i in range(1, n + 1):
    c, r, w, h = map(int,input().split())
    cover(i, c, r, w, h)

result = [0]*n
for i in range(height):
    for j in range(width):
        if board[i][j]:
            result[board[i][j] - 1] += 1

for _ in result:
    print(_)

swea에 있는 문제랑 비슷한 문제이다.

빨간 색이랑 파란색이 겹치면 보라색이 나오는 문제였던거 같은데 문제 번호가 몇번인지는 기억이나지않는다.

인풋으로 받는 것을 차례대로 색칠하기만 하면 되고, 마지막에 모든 구간을 확인해가면서 해당 값이 있으면 면적에 1을 추가하면 해결된다.

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 게임을 만든 동준이  (0) 2021.02.22
[백준] 2953 나는 요리사다  (0) 2021.02.22
[백준] 2851 슈퍼마리오  (0) 2021.02.22
[백준] 1018 체스판 다시칠하기  (0) 2021.02.20
[백준] 7568 덩치  (0) 2021.02.20