15651번 - N과 M(3)

Yeonu·2021년 10월 28일
0

알고리즘

목록 보기
4/12
post-thumbnail

📌문제

문제 보기

코드

#include <iostream>
#define MAX 9

using namespace std;

int arr[MAX];
int n, m;

void dfs(int depth) {
    if (depth == m) {
        for (int i = 0; i < m; i++) {
            cout << arr[i] << " ";
        }
        cout << '\n';
        return;
    }

    for (int i = 1; i <= n; i++) {
        arr[depth] = i;
        dfs(depth + 1);
    }
}

int main() {
    cin >> n >> m;

    dfs(0);

    return 0;
}

🍳문제 풀이

이번에는 문제에 같은 수를 여러 번 골라도 된다는 조건이 있다.
같은 수를 여러번 고른다는 것은 중복 추출을 허용한다는 뜻
따라서 방문을 체크하는 visited의 체크만 없으면 이미 출력했던 숫자도 출력하게 된다.

profile
이름 짓는게 제일 어려워

0개의 댓글