Algorithm 136

C++ 알고리즘 - 백준 4779 칸토어 집합

#include #define endl "\n"using namespace std;/******** 전역변수 ********/vector kan(550000);/******** 함 수 ********/void kantoa(int n, int m){ // n: 문자 자를 인덱스 위치, m: 자를 개수 // 자를 개수가 없다면 리턴 if (m == 0) return; // n의 위치부터 m까지 공백 처리 for(int i = n; i 3, 3 => 1, 1 kantoa(n - (m / 3) - (m / 3), m / 3); //재귀함수 호출 (뒤로 탐색) //ex: 9, 9 => 21, 3 => 25, 1 kantoa(n + m + (m / 3), m / ..

Algorithm/백준 2025.01.21
C++ 알고리즘 - 백준 15650 N과 M (2) (백트래킹)

https://www.acmicpc.net/problem/15650 #include #define endl "\n"using namespace std;/******** 전역변수 ********/int n, m;int arr[9] = { 0 };bool visited[9] = { false };/******** 함 수 ********/void dfs(int idx, int num) { // DFS : 깊이 우선 탐색 if (num == m) { // 출력해야 할 만큼의 수(m) 가 되었을 때 출력 for (int i = 0; i idx 매개변수 dfs(i, num + 1); // 끝(m) 까지 방문 후 출력, 이후 방문하지 않은 상태로 변경 visited[i] = false; } ..

Algorithm/백준 2025.01.20
C++ 알고리즘 - 백준 1789 수들의 합

https://www.acmicpc.net/problem/1789 #include #define endl "\n"using namespace std;/******** 함 수 ********/int main(void) { /******** C++ INIT ********/ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); /******** 변 수 ********/ long long input; long long sum = 0; long long chk; vector v; /******** 구 현 ********/ v.push_back(0); cin >> input; // 1부터 시작 : 모두 합한 수가 입력된 수보다 작으면 벡터에 삽..

Algorithm/백준 2025.01.20
C++ 알고리즘 - 백준 1475 방 번호

https://www.acmicpc.net/problem/1475 #include #define endl "\n"using namespace std;int main(void) { /******** C++ INIT ********/ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); /**************************/ /******** 변수 선언 ********/ string str; int answer = 1; vector set; /**************************/ /******** 구 현 ********/ // 벡터에 0~9 숫자타일 1개씩 추가 for (int i = 0; i > str; // 입력받은 각 ..

Algorithm/백준 2025.01.19