Cod sursa(job #229307)
Utilizator | Vlad Berteanu vladcyb1 | Data | 9 decembrie 2008 21:17:49 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
int n, k;
FILE *fin, *fout;
int stack[30];
void back( int level )
{
int i;
if ( level == k + 1 ) {
for( i = 1; i <= k; i++ )
fprintf( fout, "%d ", stack[i] );
fprintf( fout, "\n" );
}
else
for( i = 1; i <= n; i++ )
if ( i > stack[level-1] ) {
stack[level] = i;
back( level + 1 );
}
}
int main()
{
fin = fopen( "combinari.in", "r" );
fout = fopen( "combinari.out", "w" );
fscanf( fin, "%d%d", &n, &k );
back( 1 );
fclose( fin );
fclose( fout );
return 0;
}