Pagini recente » Cod sursa (job #2957586) | Cod sursa (job #2690641) | Cod sursa (job #3132847) | Cod sursa (job #2794412) | Cod sursa (job #2713473)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("combinari.in");
ofstream g ("combinari.out");
long long a[20];
int n,k,fr[20];
void afisare()
{
for(int i=1;i<=k;i++)
{
g<<a[i]<<" ";
}
g<<"\n";
}
bool verificare()
{
for(int i=1;i<=n;i++)
{
fr[i]=0;
}
for(int i=1;i<=k;i++)
{
fr[a[i]]++;
if(fr[a[i-1]]>1 || a[i]<=a[i-1])
{
return false;
}
}
return true;
}
void Back(int nivel)
{
if(nivel==k+1)
{
if(verificare()==true)
afisare();
}
else
{
for(int i=1;i<=n;i++)
{
a[nivel]=i;
Back(nivel+1);
}
}
}
int main()
{
f>>n;
f>>k;
Back(1);
return 0;
}