Cod sursa(job #1204157)
| Utilizator | Data | 2 iulie 2014 10:17:43 | |
|---|---|---|---|
| Problema | Combinari | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <iostream>
using namespace std;
int s[200];
int k,n;
ifstream fi("combinari.in");
ofstream fo("combinari.out");
void backtrack(int x)
{
int i;
if (x == n)
{
for (i=1;i<=n;i++)
fo<<s[i]<<" ";
fo<<endl;
}
else
if (k-x>=n-s[x])
for (i=s[x]+1;i<=k;i++)
{
s[x+1]=i;
backtrack(x+1);
}
}
main()
{
fi>>k>>n;
s[0]=0;
backtrack(0);
fo.close();
fi.close();
}
