BOJ 15650 N과 M (2)

1 개요[ | ]

BOJ 15650 N과 M (2)


2 C++[ | ]

C++
Copy
#include <iostream>
using namespace std;

int N, M;
int arr[9] = {0};
bool visited[9] = {0};

void dfs(int pos, int cnt) {
    int i;
    if(cnt == M) {
        for(i=0; i<M; i++) {
            cout << arr[i] << ' ';
        }
        cout << '\n';
        return;
    }
    for(i=pos; i<=N; i++) {
        if(!visited[i]) {
            visited[i] = true;
            arr[cnt] = i;
            dfs(i+1, cnt+1);
            visited[i] = false;
        }
    }
}

int main() {
    cin >> N >> M;
    dfs(1, 0);
}