Cod sursa(job #256234)

Utilizator stefynr8Space Monkey stefynr8 Data 11 februarie 2009 13:15:48
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>

int st[19],n,a;

int valid(int k,int st[])
{
 int i;
 for(i=1;i<k;i++)
    if(st[k]==st[i]) return 0;
 if(k>1 && st[k]<st[k-1]) return 0;
 return 1;

}

void afis(int k)
{
 int i;
 for(i=1;i<=k;i++)
    printf("%d ", st[i]);

 printf("\n");
}

void back(int k)
{
int x;
for(x=1;x<=n;x=x+1)
   {
    st[k]=x;
    if(valid(k,st))
	if(k==a) afis(k);
	    else back(k+1);

    }
}



int main()
{
 freopen("combinari.in","r",stdin);
 freopen("combinari.out","w",stdout);

 scanf("%d %d",&n,&a);
 back(1);

 return 0;
}