부분집합2 BOJ 16764 - Cowpatibility (포함배제, 부분집합) https://www.acmicpc.net/problem/16764 https://acm-iupc.tistory.com/8 i번째 소에 대한 정보가 들어올 때, 1번~i-1번소 중 i번 소와 compatible한 쌍의 개수를 세준다. 어디서? 부분집합을 만드는 코드에서 이때, 포함배제를 사용할 부분은 1~i-1번 소이기때문에 mp[v]는 나중에 ++해준다. ll n, a[5], r; map mp; int main() { cin >> n; for (int j = 0; j > a[i]; sort(a, a + 5); for (int x = 1; x < (1 2020. 2. 25. 재귀 - 부분집합, 순열 n개의 요소를 가진 배열에 대한 부분집합을 만든다면 총 2^n개의 부분집합이 나올 것. 각각의 요소들마다 부분집합에 포함하거나 포함하지 않거나 둘 중 하나이므로 2^n개의 부분집합이 생기는 것이다. #include #include #include using namespace std; const int MAX = 1e5 + 5; vector subset; int a[MAX],n; void make_subset(int k) { //k는 위치 if (k == n) { if (subset.empty()) cout BOJ 15649 - N과 M (1~12) N개 중 M개를 뽑아 나열하는 경우의 수 시리즈이다. 기본적으로 백트래킹을 이용해서 재귀로 구현함. 9~12같은 경우 중복을 제거해줘야 하는데, 이건 set로.. 2019. 12. 18. 이전 1 다음