Pagini recente » Borderou de evaluare (job #365920) | Borderou de evaluare (job #1139718) | Borderou de evaluare (job #1914881) | Borderou de evaluare (job #1296688) | Cod sursa (job #568507)
Cod sursa(job #568507)
#include<stdio.h>
FILE *f , *g ;
int n ,st[19] ,m;
void citire();
void tipar();
void back(int k);
int valid(int k);
int main()
{
citire();
g=fopen("combinari.out" , "w" );
back(1);
fclose(g);
return 0;
}
void citire()
{
f=fopen("combinari.in" ,"r" );
fscanf(f ,"%d%d" , &n , &m);
fclose(f);
}
void back(int k)
{
for (int i = 1 ; i<= n ; ++i )
{
st[k] = i;
if (valid(k))
if(k==m)
tipar();
else
back(k+1);
}
}
int valid(int k)
{
if (st[k] <= st[k-1])
return 0;
for ( int j = 1 ; j<= k-1 ; j++)
if(st[j] == st[k] )
return 0;
return 1;
}
void tipar()
{
for ( int j = 1 ;j<= m; ++j )
fprintf(g, "%d " , st[j] );
fprintf(g ,"\n");
}