Pagini recente » Cod sursa (job #2556702) | Cod sursa (job #2196273) | Cod sursa (job #492971) | Cod sursa (job #933431) | Cod sursa (job #1196802)
#include<stdio.h>
int st[19],n,p,k;
void Init()
{ st[k]=st[k-1]; }
int Am_Succesor() {
if(st[k]<n){
st[k]++;
return 1;
}
return 0;
}
int Solutie()
{ return k==p; }
int E_Valid() {
for(int i=1;i<k;i++)
if(st[i]==st[k] ) return 0;
return 1;
}
void Tipar() {
for(int i=1;i<=p;i++)
printf("%d ",st[i]);
printf("\n");
}
void back() {
int AS;
k=1;Init();
while(k>0) {
do {} while((AS=Am_Succesor()) && !E_Valid());
if (AS)
if(Solutie()) Tipar();
else { k++;Init(); }
else k--;
}
}
int main () {
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&p);
back();
fclose(stdin);
fclose(stdout);
return 0;
}