Pagini recente » Cod sursa (job #2381252) | Cod sursa (job #964933) | Cod sursa (job #3005116) | Cod sursa (job #547634) | Cod sursa (job #573305)
Cod sursa(job #573305)
#include<fstream>
using namespace std;
ofstream fout("combinari.out");
int a,b,s[19];
void init(int k){
if(k==1)
s[k]=0;
else
s[k]=s[k-1];}
int succesor(int k){
if(s[k]<a-b+k) {s[k]++; return 1;}
else return 0;}
int valid(int k){
for(int i=1;i<k;i++)
if (s[i]==s[k]) return 0;
return 1;
}
int solutie(int k){
return k==b;}
void tipar(){
for(int i=1;i<=b;i++) fout<<s[i]<<" ";
fout<<"\n";}
void bt(int k)
{
init(k);
while (succesor(k))
if(valid(k))
if(solutie(k))
tipar();
else bt(k+1);
}
int main(){
ifstream fin ("combinari.in");
fin>>a>>b;
bt(1);
fin.close();
fout.close();
return 0;
}