アルゴリズム::白準::Breutforce::15652::NとM(4)
9163 ワード
質問する
自然数NとMが与えられた場合、以下の条件を満たすすべての長さMの数列を解くプログラムを作成します.
質問へのアクセス
i
が追加された場合、次のサイクルで数字i + 1
から使用することができ、i
から使用することができるようになった.コード#コード#
じゅんじゅんふごう
#include <iostream>
using namespace std;
int n, m, a[8];
void solve(int idx, int num) {
if (idx == m) {
for (int i = 0; i < m; ++i) cout << a[i] << ' '; cout << '\n';
return;
}
for (int i = num; i <= n; ++i) {
a[idx] = i;
solve(idx + 1, i); // i + 1이면 오름차순, i니까 비내림차순.
}
}
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> n >> m;
solve(0, 1);
}
オプションコード
#include <iostream>
using namespace std;
int n, m, a[8];
void solve(int num, int cnt) {
if (cnt == m) {
for (int i = 0; i < m; ++i) cout << a[i] << ' '; cout << '\n';
return;
}
if (num > n) return;
a[cnt] = num;
solve(num, cnt + 1); // num을 선택하는 경우
solve(num + 1, cnt); // num을 선택하지 않는 경우
}
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> n >> m;
solve(1, 0);
}
結果
Reference
この問題について(アルゴリズム::白準::Breutforce::15652::NとM(4)), 我々は、より多くの情報をここで見つけました https://velog.io/@embeddedjune/알고리즘-백준-Bruteforce-15652-N과-M-4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol