Pagini recente » Cod sursa (job #742534) | Cod sursa (job #167513) | Cod sursa (job #1485010) | Cod sursa (job #49447) | Cod sursa (job #2559643)
#include <fstream>
using namespace std;
ifstream cin("combinari.in");
ofstream cout("combinari.out");
int n, m, sol[20];
void succesor(int k, bool &as) {
as = 0;
if(sol[k] < n) {
sol[k]++;
as = 1;
}
}
void valid(int k, bool &ev) {
ev = 1;
for(int i = 1; i < k; ++i)
if(sol[i] >= sol[k])
ev = 0;
}
void tipar() {
for(int i = 1; i <= m; ++i)
cout << sol[i] << ' ';
cout << '\n';
}
void back() {
int k = 1;
bool as, ev;
while(k) {
do {
succesor(k, as);
if(as)
valid(k, ev);
} while(as && !ev);
if(as)
if(k == m)
tipar();
else {
++k;
sol[k] = 0;
}
else
--k;
}
}
int main() {
cin >> n >> m;
back();
}