Pagini recente » Cod sursa (job #2323773) | Cod sursa (job #109886) | Cod sursa (job #1330054) | Cod sursa (job #1972308)
#include<stdio.h>
using namespace std;
FILE*f = fopen("combinari.in", "r");
FILE*g = fopen("combinari.out", "w");
void Back(int *comb, bool *viewed, int n, int k, int i)
{
if(i > k)
{
for(int j = 1; j <= k; ++j)
{
fprintf(g, "%d ", comb[j]);
}
fprintf(g, "\n");
return;
}
for(int j = 1; j <= n; ++j)
{
if(!viewed[j])
{
comb[i] = j;
viewed[j] = true;
Back(comb, viewed, n, k, i + 1);
viewed[j] = false;
}
}
}
int main(){
int n, k;
fscanf(f, "%d%d", &n, &k);
int comb[k + 1];
bool viewed[n + 1];
for(int i = 1; i <= n; ++i)
{
viewed[i] = false;
}
Back(comb, viewed, n, k, 1);
fclose(f);
fclose(g);
return 0;
}