白準15651号(全ナビゲーション)


白準15651号(全ナビゲーション)
この問題は,自然数のうち1からNまでのM個の数列を得る必要がある.しかし、私には条件があります.同じ数の出力を複数回選択できますが、出力は予め増加した順序で出力する必要があります.この問題は,既存のchecked分割を使用する条件を取り消すことによって簡略化された.
#include <iostream>

using namespace std;

int N, M;

int arr[9];
bool checked[9];

void func(int cnt) {
	if (cnt == M) {
		for (int i = 0; i < cnt; i++) {
			cout << arr[i] << " ";
		}
		puts("");
		return;
	}
	for (int i = 1; i <= N; i++) {
		arr[cnt] = i;
		func(cnt + 1);
	}
}

int main() {
	cin >> N >> M;

	func(0);

	return 0;
}