Pagini recente » Cod sursa (job #574711) | Cod sursa (job #2598766) | Cod sursa (job #2959607) | Cod sursa (job #1522986) | Cod sursa (job #2340046)
#include <iostream>
#define NMAX 30
using namespace std;
int v [ NMAX + 1 ] ;
char viz [ NMAX + 1 ] ;
FILE *fin, *fout ;
void bkt (int i, int n, int k, int v [] ) {
if (i == k ) {
for (int j = 1 ; j <= k ; j++ ) {
fprintf (fout, "%d ", v[j] ) ;
}
fprintf (fout, "\n" ) ;
}
else {
for (int j = v[i]+1 ; j <= n ; j++ ) {
if (viz[j] == 0 ) {
viz[j] = 1 ;
v[i+1] = j;
bkt (i+1, n, k, v ) ;
viz[j] = 0 ;
}
}
}
}
int main() {
fin = fopen ("permutari.in", "r" ) ;
fout = fopen ("permutari.out", "w" ) ;
int n, k ;
fscanf (fin, "%d%d", &n, &k ) ;
bkt(0, n, k, v ) ;
return 0;
}