백준 2563번 (색종이 3)

2025. 3. 6. 16:23백준

3개의 사각형이 서로 겹쳐 졌을 때

 

3개의 사각형이 겹쳐질 때를 그려보니

3개의 값이 모두 합쳐 졌을 때 10이하이고 각 변의 최소값이 다 겹쳐지는 것을 확인했다.

 

import sys
n = int(sys.stdin.readline().strip('\n'))

A = [list(map(int,input().split())) for _ in range(n)]
B = 0
t_cnt = sum([x+1 for x in range(len(A))])-n
d_cnt =0
i = 1
inter = 0
inter_x =[]
inter_y= []
nes = 0
print(A)
for _ in range(t_cnt):
    if i == n:
        d_cnt +=1
        i = 1 +d_cnt
    if i <n:
        tmp_x = abs(A[d_cnt][0] - A[i][0])
        tmp_y = abs(A[d_cnt][1] - A[i][1])
        i +=1
        inter_x.append(tmp_x)
        inter_y.append(tmp_y)
    print(f'{_} , tmp_x:{tmp_x}, tmp_y:{tmp_y}')
    if tmp_x <10 and tmp_y <10:
        B += (10-tmp_x) * (10-tmp_y)
        
if sum(inter_x) <= 10 and sum(inter_y) <= 10:
    nes=(10-min(inter_x))*(10-min(inter_y))*(len(inter_x)-1)



print(n*100 - B + nes)

 

다만 이럴 경우 도형이 더 늘어나 3개의 사각형이 겹쳐지고 나머지 사각형은 다른 부분에서 한 부분만 겹쳐졌을 때

반응형

'백준' 카테고리의 다른 글

백준2536번 (색종이2)  (0) 2025.02.24
백준 2536번(색종이 1)  (0) 2025.02.21
백준 10798번(세로읽기)  (0) 2025.02.20
백준 2566번(최댓값)  (0) 2025.02.19
백준 2738번(행렬 덧셈)  (0) 2025.02.18