Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/stargold2 intre reviziile 275 si 36 | Diferente pentru concursuri intre reviziile 59 si 58 | Diferente pentru home intre reviziile 902 si 698 | Cod sursa (job #1317096)
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int sol[101];
int n,k;
bool folosit[20];
/*bool valid (int p)
{
int i;
for(i=1; i<p; i++)
if(sol[i]==sol[p]) return false;
return true ;
}
*/
void afisare ()
{ int i;
for(i=1; i<=k; i++)
g<<sol[i]<<" ";
g<<"\n";
}
int bkt(int p)
{
if (p-1==k)
afisare ();
else
for(int i=1+sol[p-1];i<=n-k+p;i++){
sol[p]=i;
bkt(p+1);
}
/*
for(int i=1; i<=n; i++)
{
if(!folosit[i]){
folosit[i]=true;
sol[p]=i;
bkt(p+1);
folosit[i]=false;
}
*/
//sol[p]=i;
//if(valid[p]) bkt(p+1);
}
int main()
{
f>>n>>k;
bkt(1);
return 0;
}