std::next_permutation()으로 조합 만들기
주어진 크기 n의 배열 A에서 r개의 원소를 선택하고 싶을 때(nCr), // 오름차순 조합 생성 3C2 예시 (1, 2) (1, 3) (2, 3) bool cbn[n]; fill(cbn, cbn + r, 0); fill(cbn + r, cbn + n, 1); do { for (int e = 0; e < n; ++e) { if (!cbn[e]){ // 선택된 선택지 A[e]에 대한 처리 } } } while (next_permutation(cbn, cbn + n)); // 내림차순 조합 생성 : 3C2 예시 (2, 3) (1, 3) (1, 2) bool cbn[n]; fill(cbn, cbn + n - r, 0); fill(cbn + n - r, cbn + n, 1); do { for (int e = 0..
백준 17472 다리 만들기 2
문제 링크: 불러오는 중입니다... 코드: /* 1. visited 체크 누락 */ /* 2. boundary */ /* 3. 배열 boundary chk시에는 왠만하면 < 부호 쓰기 */ #include #include #include #include using namespace std; int dn[] = { -1, 0, 1, 0 }; int dm[] = { 0, 1, 0, -1 }; int N, M; vector isl; bool map1[12][12]; int map2[12][12]; int V = 1; int cst[7][7]; set cnct; bool cbn[15], adj[7][7], vst[7]; int v, CST, ans = 50; void DFS1(int n, int m) { map..