Pagini recente » Monitorul de evaluare | Statistici Apetrei Lucian (Lucianu) | Rating Bucurica Mihai (Mib) | Istoria paginii utilizator/roberthostiuc | Cod sursa (job #884953)
Cod sursa(job #884953)
#include<stdio.h>
FILE *in,*out;
using namespace std;
int st[101],n,k;
void back(int pos);
bool valid(int pos);
void afisare(int pos);
int main()
{
in=fopen("combinari.in","rt");
out=fopen("combinari.out","wt");
fscanf(in,"%d",&n);
fscanf(in,"%d",&k);
back(1);
fclose(in);
fclose(out);
return 0;
}
void back (int pos)
{
int i,j;
for(i=1;i<=n;i++)
{
st[pos]=i;
//j=0;
{
//j++;
if(valid(pos) /*j<=k*/)
{
if(pos==k)
afisare(pos);
else
back(pos+1);
}
}
}
}
bool valid(int pos)
{
int j;
for (j=1;j<pos;j++)
{
if(st[pos]==st[j])
return false;
}
return true;
}
void afisare(int pos)
{
for(int i=1;i<=pos;i++)
{
fprintf(out,"%d ",st[i]);
}
fprintf(out,"\n");
}