https://www.acmicpc.net/problem/2422
Problem
- 한윤정과 친구들은 이탈리아로 방학 여행을 갔다. 이탈리아는 덥다. 윤정이와 친구들은 아이스크림을 사먹기로 했다. 아이스크림 가게에는 N종류의 아이스크림이 있다.
- 모든 아이스크림은 1부터 N까지 번호가 매겨져있다. 어떤 종류의 아이스크림을 함께먹으면, 맛이 아주 형편없어진다. 따라서 윤정이는 이러한 경우를 피하면서 아이스크림을 3가지 선택하려고 한다. 이때, 선택하는 방법이 몇 가지인지 구하려고 한다.
조건
- 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 이상 나오지 않는다. (1 ≤ N ≤ 200, 0 ≤ M ≤ 10,000)
SOL
조합하면 안되는 조합을 거르는 문제이다(민트 +초코)
조합표에다가, 조합하면 안되는걸 표시해두고, 조합의 수를 뽑아봤을때, 그 조합표에 만약 있다면 , 그 조합은 절대 섞으면 안된다.
#한융정이~`
# 미리 표기하는 방식!!
from itertools import combinations
import sys
input= sys.stdin.readline
N,M= map(int,(input().split()))
ice =[[False]*N for _ in range(N)]
for i in range(M):
a,b=map(int,input().split())
ice[a-1][b-1] = True
ice[b-1][a-1] = True
ans=0
for combi in combinations(range(N),3):
if ice[combi[0]][combi[1]] or ice[combi[1]][combi[2]] or ice[combi[0]][combi[2]]:
continue
ans+=1
print(ans)
'알고리즘 문제(SOL)' 카테고리의 다른 글
[백준/2933/파이썬] 미네랄 (0) | 2022.02.19 |
---|---|
[백준/17088/파이썬] 등차수열 변환 (0) | 2022.02.19 |
[백준/14002/파이썬] 가장 긴 증가하는 부분 수열 4 (0) | 2022.02.18 |
[백준/12738/파이썬] 가장 긴 증가하는 부분수열 3 (0) | 2022.02.18 |
[백준/16637/파이썬] 괄호 추가하기 (2) | 2022.02.17 |