Cod sursa(job #160453)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 15 martie 2008 21:30:08
Problema Combinari Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>

int st[30],uz[30];
int k,n;

int bun()
{   for(int i=0;i<k;i++)
        if(st[i]<st[i-1]) return 0;
    return 1;
}

void back(int x)
{
     if(k==x)
     {   if(bun())
    	 {   for(int i=0;i<k;i++) printf("%d ",st[i]);
	         printf("\n");
	     }
     }
     else
         for(int i=1;i<=n;i++)
             if(!uz[i])
             {   st[x]=i; uz[i]=1;
                 back(x+1);
                 uz[i]=0;
             }
}

int main()
{   int a;
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    
    scanf("%d %d",&n,&k);
    back(0);
    fclose(stdin);
    fclose(stdout);
    return 0;
}