Skip to content

Commit d45a7c8

Browse files
15650 N and M(2) solved
1 parent 109db11 commit d45a7c8

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#include <iostream>
2+
using namespace std;
3+
4+
/*****************************************************
5+
PSUEDO-CODE
6+
7+
8+
*******************************************************/
9+
10+
int resultArr[8] = {-1,-1,-1,-1,-1,-1,-1,-1};
11+
12+
void printResult(int M) {
13+
for (int i = 0; i < M; ++i) {
14+
cout << resultArr[i];
15+
if (i < (M-1))
16+
cout << ' ';
17+
}
18+
cout << '\n';
19+
}
20+
21+
void formatResultArray(int begin, int end) {
22+
for (int i = begin; i < end; ++i)
23+
resultArr[i] = -1;
24+
}
25+
26+
bool isAlreadyInResult(int M, int target) {
27+
for (int i = 0; i < M; ++i) {
28+
if (resultArr[i] == target)
29+
return true;
30+
}
31+
return false;
32+
}
33+
34+
void printCombinations(int N, int M, int level, int target) {
35+
36+
if (level != -1) {
37+
if (isAlreadyInResult(M, target))
38+
return;
39+
40+
resultArr[level] = target;
41+
}
42+
43+
if (level == (M-1)) {
44+
printResult(M);
45+
return;
46+
}
47+
48+
for (int i = ((target == -1) ? 1 : (target+1)); i <= N; ++i) {
49+
formatResultArray(level+1, N);
50+
printCombinations(N, M, level+1, i);
51+
}
52+
}
53+
54+
int main() {
55+
ios_base::sync_with_stdio(false);
56+
cin.tie(nullptr);
57+
58+
int N, M;
59+
cin >> N >> M;
60+
printCombinations(N, M, -1, -1);
61+
62+
return 0;
63+
}
121 KB
Binary file not shown.

0 commit comments

Comments
 (0)