Algorithm(CodeTree, Python)/완전탐색2
[코드트리 물체 단위로 완전탐색] 선분 3개 지우기 python
kurooru
2022. 12. 19. 13:01
# n 입력
n = int(input())
# line_pos
line_pos = list()
# line_pos 입력
for _ in range(n):
line_pos.append(tuple(map(int, input().split())))
# 함수들
# is_duplicated(a, b, c)
def is_duplicated(a, b, c):
# temp -> 선분들의 영역을 표시해 줄 리스트
temp = [0] * 101
# 영역 표시 시작
for i in range(n):
# 영역 표시하지 않을 선분일 경우
if i == a or i == b or i == c:
# skip
continue
# 영역 표시할 선분일 경우
# 언팩킹
s, e = line_pos[i]
# 영역 표시
for j in range(s, e+1):
temp[j] += 1
# 표시된 영역에서
for i in range(101):
# 겹치는 선분이 있으면,
if temp[i] >= 2:
# 겹침
return True
# 다 돌았는데 없으면
# 안겹침
return False
# 설계
# cnt
cnt = 0
# 완전 탐색 시작
for i in range(n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
# 3개의 선분을 제거했을 때 겹치지 않으면
if not is_duplicated(i, j, k):
# cnt 올려주기
cnt += 1
# 출력
print(cnt)