白俊:NとM
6605 ワード
質問する
説明:
N
までのカードの中からM
個を選択した場合、個数を求める!1 4
と4 1
は異なるアルゴリズム#アルゴリズム#
n_array
,used_n
宣言이 수를 방문 했는가?
開始[depth初期値=0]dfs(depth)
depth == M
繰り返し文を実行i = 0; i < n; i++
実行コード#コード#
#include <vector>
#include <cstdio>
using namespace std;
vector<bool> used_n;
vector<int> n_array;
int n, depth;
void dfs(int cur_depth) {
if (cur_depth == depth) {
for (int tmp : n_array) {
printf("%d ", tmp);
}
printf("\n");
return;
}
for (int i = 0; i < n; i++) {
if (!used_n[i]) {
used_n[i] = true;
n_array[cur_depth] = i+1;
dfs(cur_depth + 1);
used_n[i] = false;
}
}
}
int main(void) {
scanf("%d %d", &n, &depth);
// Resize Used
used_n.resize(n, false);
// Init Vector
n_array.resize(depth, 0);
dfs(0);
return 0;
}
Reference
この問題について(白俊:NとM), 我々は、より多くの情報をここで見つけました https://velog.io/@kangdroid/백준-N과-Mテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol