Pagini recente » Monitorul de evaluare | Cod sursa (job #538974) | Cod sursa (job #936234) | Cod sursa (job #2695014) | Cod sursa (job #727557)
Cod sursa(job #727557)
#include <cstdio>
using namespace std;
FILE * iFile;
FILE * oFile;
int n, p,sol[19], b[19];
void back(int k)
{
int i;
if(k-1 == p)
{
for(i=1;i<=p;i++)
fprintf(oFile, "%d ", sol[i]);
fprintf(oFile, "\n");
} else {
for(i=1;i<=n;i++)
{
if(sol[k-1] < i && !b[i])
{
sol[k] = i;
b[i] = 1;
back(k+1);
b[i] = 0;
}
}
}
}
int main()
{
iFile = fopen("combinari.in", "r");
oFile = fopen("combinari.out", "w");
fscanf(iFile, "%d %d", &n, &p);
back(1);
fclose(iFile);
fclose(oFile);
return 0;
}