Pagini recente » Cod sursa (job #1332058) | Cod sursa (job #1153655) | Cod sursa (job #740238) | Cod sursa (job #1195380) | Cod sursa (job #2909950)
#include <iostream>
#include <fstream>
#include <cmath>
#include <queue>
using namespace std;
ifstream reader("combinari.in");
ofstream writer("combinari.out");
void afisare(int v[],int k)
{
for(int i=1;i<=k;++i)
writer<<v[i]<<" ";
writer<<'\n';
}
bool valid(int v[],int n,int c)
{
for(int i=1;i<c;++i)
if(v[i]==v[c] or v[i]>v[c])
return false;
return true;
}
void back(int v[],int n,int k,int c)
{
for(int i=1;i<=n;++i)
{
v[c]=i;
if(valid(v,n,c))
if(c==k)
afisare(v,k);
else back(v,n,k,c+1);
}
}
int main()
{
int n,k;
reader>>n>>k;
int v[n+1];
back(v,n,k,1);
return 0;
}