본문 바로가기

알고리즘/조합, 순열4

백준 15657번 : N과 M (8) 문제 링크 : www.acmicpc.net/problem/15657 내 풀이(2021.1.29.) : #include #include #include using namespace std; vector list; int N, M; void dfs(int start, int depth, vector& v) { if (v.size() == M) { for (int i = 0; i M; for (int i = 0; i > temp; list.push_back(temp); } sort(list.begin(), list.end()); vector v; dfs(0, 0, v); return 0; } 요구사항 : 서로 다른 .. 2021. 1. 29.
백준 15686번 : 치킨 배달 문제 링크 : www.acmicpc.net/problem/15686 내 풀이1(2021.1.28.) : BFS, 조합 #include #include #include #include #include using namespace std; typedef pair int_pair; vector list; vector index; int map[51][51]; int visit[51][51]; int N, M; int cnt = 0; int mi = INT_MAX; void initialize_visit() { for (int i = 1; i 2021. 1. 28.
STL을 이용한 조합과 순열 코드 #include #include #include using namespace std; void combination(vector& list, int n, int r) { vector selection; for (int i = 0; i < r; i++) selection.push_back(1); for (int i = 0; i < n - r; i++) selection.push_back(0); do { for (int i = 0; i < list.size(); i++) { if (selection[i] == 1) cout 2021. 1. 28.
프로그래머스 스킬 체크 (레벨2) - 조합 문제 프로그래머스 스킬 체크 문제를 푸는데 조합 관련 문제가 나왔다. 가능한 모든 조합의 곱들의 합을 구해야 하는데 시간만 많으면 직접 라이브러리를 만들 수 있겠지만 테스트 시간 안에는 불가능했다. 구글링을 해서 크기가 n인 벡터에서 r개의 요소를 골라낸 벡터들을 리턴해주는 소스를 얻어냈다. #include #include using namespace std; vector Combination(vector container, int r) { int n = container.size(); if (n < r) return {}; if (r < 0) return {}; vectortotVec;//return 2d-vector vector tempVec(r);//saves temporary combination ve.. 2021. 1. 19.