#include <stdio.h> #include <iostream> using namespace std; int choice[5]; int same[300][300]; int N, M; int ans; int check(int num, int cnt) { for(int i = 0; i < cnt; i++) { if(same[choice[i]][num] == 1) { return 0; } } return 1; } void combination(int idx, int cnt) { if(cnt == 4) { ans++; return; } for(int i = idx; i <= N; i++) { choice[cnt] = i; // 선택한 수가 조건에 위배되지않는지 확인 if(check(choice[cnt], cnt) == 1) { combination(i+1, cnt+1); } } } int main(void) { // freopen("B2422_input.txt", "r", stdin); scanf("%d %d", &N, &M); for(int i = 1; i <= M; i++) { int a, b; scanf("%d %d", &a, &b); same[a][b] = 1; same[b][a] = 1; } combination(1, 1); printf("%d", ans); return 0; } | cs |
'Baekjoon > BruteForce' 카테고리의 다른 글
[백준 14888] 연산자 끼워넣기 (순열) (C/C++) (0) | 2019.11.20 |
---|---|
[백준 14501] 퇴사 (조합) (C/C++) (★) (0) | 2019.11.20 |
[백준 3980] 선발 명단 (순열) (C/C++) (★) (0) | 2019.11.18 |
[백준 15661] 링크와 스타트 (조합) (C/C++) (★★) (0) | 2019.11.18 |
[백준 15686] 치킨배달 (조합) (C/C++) (0) | 2019.11.18 |