백준 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 |