Pagini recente » Cod sursa (job #2148256) | Monitorul de evaluare | Cod sursa (job #1881316) | Istoria paginii utilizator/commercialgas144 | Cod sursa (job #2168430)
#include <fstream>
using namespace std;
int n, k, a[20];
ofstream fo("combinari.out");
void afisare() {
for (int i = 1; i <= k; i++)
fo << a[i] << ' ';
fo << '\n';
}
bool valid(int l) {
if (a[1] == a[l] and l != 1)
return false;
for (int i = 2; i <= l; i++)
if (a[i] == a[l] and i != l or a[i-1] > a[i])
return false;
return true;
}
void bt(int l) {
for (int i = 1; i <= n; i++) {
a[l] = i;
if (valid(l)) {
if (l == k)
afisare();
else
bt(l+1);
}
}
}
int main () {
ifstream fi("combinari.in");
fi >> n >> k;
bt(1);
return 0;
}