Pagini recente » Cod sursa (job #1104930) | Cod sursa (job #1086285) | Cod sursa (job #474517) | Cod sursa (job #1492836) | Cod sursa (job #417524)
Cod sursa(job #417524)
#include<stdio.h>
FILE *f,*g;
int as,ev,k,st[25],n,m,ok,i;
inline void init() { st[k]=0; }
inline int succesor() { if(st[k]<n) { st[k]++; return 1; } else return 0; }
inline int valid() { if(st[k-1]>=st[k]) return 0; else return 1; }
inline int solutie() { return k==m; }
inline void tipar() { for(i=1;i<=m;i++) fprintf(g,"%d ",st[i]); fprintf(g,"\n"); }
int main()
{ f=fopen("combinari.in","r"); g=fopen("combinari.out","w");
fscanf(f,"%d%d",&n,&m);
k=1; st[1]=0;
while(k)
{ do
{ as=succesor();
if(as) ev=valid();
}
while(!(as&&ev||!as));
if(as) if(solutie()) tipar();
else { k++; init(); }
else k--;
};
fclose(g);
return 0;
}