Cod sursa(job #158328)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 13 martie 2008 16:34:55
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>

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

void back(int k)
{   int ok;
    int i;

    if(k==p)
    {   ok=1;
	for(i=0;i<k;i++)
	    if(st[i]>st[i+1]) {ok=0; break;}
	if(ok)
	{   for(i=0;i<n;i++) printf("%d ",st[i]);
	    printf("\n");
	}
    }
    else
    {   for(i=1;i<=n;i++)
	    if(!uz[i])
	    {   st[k]=i; uz[i]=1;
		back(k+1);
		uz[i]=0;
	    }
    }
}

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

    scanf("%d %d",&n,&p);
    back(0);
    return 0;
}