Mai intai trebuie sa te autentifici.
Cod sursa(job #2219596)
Utilizator | Data | 9 iulie 2018 13:36:29 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.73 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int N, K;
int x[20]; //
bool s[20];
void Comb(int k);
void Write(int k);
int main()
{
fin >> N >> K;
x[0] = 1;
Comb(1);
fin.close();
fout.close();
return 0;
}
void Comb(int k)
{
if ( k > K )
{
Write(k - 1);
return;
}
for ( int i = x[k - 1]; i <= N; ++i )
if ( !s[i] )
{
s[i] = true;
x[k] = i;
Comb(k + 1);
s[i] = false;
}
}
void Write(int k)
{
for (int i = 1; i <= k; ++i )
fout << x[i] << ' ';
fout << '\n';
}