목록CodingTestTraining/BaekJoon (29)
승쨩개발공부
#include #include #include #include using namespace std;int n, k;vector v;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for (int i = 0; i > a; v.push_back(a); } sort(v.rbegin(), v.rend()); int cnt = 0; for (const int& i : v) { int cal = k / i; if (cal
문제읽기가 너무 난해해서 굉장히 쉬움에도 오래걸렸다;#include #include #include #include using namespace std;int n;vector v;int sum = 0;int ret = 0;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i > a; v.push_back(a); } sort(v.begin(), v.end()); for (int i = 0; i
#include #include #include #include using namespace std;int n, k;vector v1;vector v2;bool vis[15];int sum = 0;int cnt = 0;void dfs(){ if (v2.size() == n) { cnt++; return; } for (int i = 0; i = 0) { dfs(); } vis[i] = false; v2.pop_back(); sum -= v1[i]; sum += k; } } }int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for (int i = 0; i > a; v1.push_back..
#include #include #include #include using namespace std;int n, m;vector v;// 1, 2, 3, 4void dfs(){ if (v.size() == m) { for (const int& i : v) { cout > n >> m; dfs(); return 0;}
#include #include #include #include using namespace std;int n, m;vector v;void dfs(int here){ if (v.size() == m) { for (const int& i : v) { cout > n >> m; dfs(1); return 0;}
백트레킹은 모든 경우의 수를 재귀적으로 탐색할떄 사용한다.for문으로도 가능하지만 n개의 숫자가 늘어날수록 중첩for문을 해야하니 효율적이지 못할 수 있다. #include #include #include #include using namespace std;int n, m;bool vis[15];vector v;void dfs(){ if (v.size() == m) { for (const int& i : v) { cout > n >> m; dfs(); return 0;}