Pagini recente » Cod sursa (job #1855342) | Cod sursa (job #1184169) | Cod sursa (job #2960621) | Cod sursa (job #556019) | Cod sursa (job #334532)
Cod sursa(job #334532)
#include <cstdio>
using namespace std;
FILE *f,*g;
int sol[20],n,k;
int succesor(int p)
{ if(sol[p]<n)
{sol[p]++;
return 1;
}
return 0;}
int valid(int p)
{ int i;
if(p==1)return 1;else
for(i=1;i<p;i++)
if(sol[p]<=sol[i])
return 0;
return 1;
}
int solutie(int p)
{ return p==k+1;
}
void back(int p)
{ int j;
{ if (solutie(p))
for(j=1;j<=k;j++)
fprintf(g,"%d ",sol[j]);
fprintf(g,"\n");}
{sol[p]=0;
while(succesor(p))
if(valid(p))
back(p+1);
}
}
int main()
{ f=fopen("combinari.in","r");
g=fopen("combinari.out","w");
fscanf(f,"%d %d",&n,&k);
back(1);
return 0;}