본문 바로가기

백준 C++33

[백준 C++] 15652번 : N과 M(4) 1. 문제 https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 2. 알고리즘 분류 백트래킹 3. 소스 코드 #include #include using namespace std; int N, M; vector nums; // 순열을 구하는 함수 // lv : 뽑은 숫자의 갯수, num : 이전에 뽑았던 수 void permutation(int lv, int num) { // M개의 숫자를 뽑을 경우, 출력 if (lv == M) { // 해당 순열.. 2022. 11. 29.
[백준 C++] 15650번 : N과 M(2) 1. 문제 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 2. 알고리즘 분류 백트래킹 3. 소스 코드 #include #include using namespace std; int N, M; vector nums; // 수열을 구하는 함수(DFS 이용) // lv : 현재 뽑은 숫자의 갯수, num : 이전에 뽑았던 수 void permutation(int lv, int num) { // M개 까지 숫자를 뽑았을 때, 끝내기 if (lv ==.. 2022. 11. 29.
[백준 C++] 2407번 : 조합 1. 문제 https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 2. 알고리즘 분류 수학 조합론 임의 정밀도 / 큰 수 연산 3. 소스 코드 #include #include using namespace std; // 조합 계산 결과 테이블 string table_combi[105][105]; // 큰 수 더하는 함수 // num1, num2의 수는 거꾸로 저장되어있음 ex) 123 => "321" string add(string num1, string num2) { string ans = ""; int sum = 0; int size = max(num1.size().. 2022. 11. 29.