Cod sursa(job #264120)

Utilizator flowreenNutiu Florin flowreen Data 21 februarie 2009 15:05:39
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<stdio.h>

int sol[20],n,k;

void tipar(int k)
{for(int i=1;i<k;i++)
printf("%i ",sol[i]);
printf("\n");
}

/*int ok(int k,int val)
{if(k>1 && sol[k-1]==val || (k>2 && sol[k-2]==val))return 0;
return 1;
}
int ok(int k,int val)
{
return 1;
}*/

int ok(int k,int val)
{for(int j=1;j<=k-1;j++)
if(sol[j]>=val)return 0;
return 1;
}

void back(int k)
{if (k==n)tipar(k);
else
for(int val=1;val<=n;val++)
if(ok(k,val))
             {
             sol[k]=val;
             back(k+1);
             }
}

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