Pagini recente » Cod sursa (job #3041536) | Cod sursa (job #2060388) | Cod sursa (job #9476) | Cod sursa (job #331027) | Cod sursa (job #3160566)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int main()
{
/**
Combinari:
Citim n si k, 0 <= k <= n.
Sa afisam submultimile de k elemente ale {1,2,...n}
ex: n=4, k=3
{1 2 3}
{1 2 4}
{1 3 4}
{2 3 4}
*/
int n, i, k;
fin >> n >> k;
vector<int> a;
/// punem in a k de 1 si n-k de 0
for (i = 1; i <= k; i++)
a.push_back(1);
for (i = 1; i <= n - k; i++)
a.push_back(0);
/// a = (1,1,1,1,0,0,0)
do
{
for (i = 0; i < n; i++)
if (a[i] == 1) fout << (i + 1) << " ";
fout << "\n";
}
while(prev_permutation(a.begin(), a.end()));
return 0;
}