Pagini recente » Cod sursa (job #2211906) | Cod sursa (job #282911) | Cod sursa (job #571764) | Istoria paginii concurs-mihai-patrascu-2013/solutii | Cod sursa (job #2417288)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k, st[20], viz[20];
void Afisare() {
for (int i = 1; i <= k; i++)
fout << st[i] << ' ';
fout << '\n';
}
int Check(int i, int p) {
return (viz[i] == 0 && i > st[p]);
}
void Back(int p) {
if (p == k + 1) {
Afisare();
return;
}
for (int i = 1; i <= n; i++)
if (Check(i, p - 1)) {
st[p] = i;
viz[i] = 1;
Back(p + 1);
viz[i] = 0;
}
}
int main() {
fin >> n >> k;
Back(1);
}