Pagini recente » Cod sursa (job #1194893) | Cod sursa (job #1818174) | Cod sursa (job #1414456) | Arhiva de probleme | Cod sursa (job #2751475)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int st[20], n, v[20], k;
/**
v[i] = 1, daca i este in st
v[i] = 0, daca i nu este inca in st
a = {1, 2, 3, 4}, k = 3
C(n, k) = nr de submultimi de k elem ale lui A
1 2 3
1 2 4
1 3 4
2 3 4
C(4, 3) = 4
C(n, k) = n! / (k! * (n - k)!)
*/
void Afis(int n)
{
for (int i = 1; i <= k; i++)
fout << st[i] << " ";
fout << "\n";
}
void Comb(int top)
{
if (top == k + 1) Afis(k);
else
for (int i = st[top - 1] + 1; i <= n; i++)
{
st[top] = i;
Comb(top + 1);
}
}
int main()
{
fin >> n >> k;
Comb(1);
fin.close();
fout.close();
return 0;
}