Cod sursa(job #1857767)
| Utilizator | Data | 26 ianuarie 2017 17:16:12 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <cstdio>
using namespace std;
FILE *intrare,*iesire;
int n,k,v[100];
void backtracking (int pos)
{
int i,start=1;
if (pos==k)
{
for (i=0; i<=k-1; ++i)
{
fprintf(iesire,"%d ",v[i]);
}
fprintf(iesire,"\n");
}
else
{
if (pos>0)
{
start=v[pos-1]+1;
}
for (i=start; i<=n; ++i)
{
v[pos]=i;
backtracking(pos+1);
}
}
}
int main()
{
intrare=fopen("combinari.in","r");
iesire=fopen("combinari.out","w");
fscanf(intrare,"%d%d",&n,&k);
backtracking(0);
}
