Cod sursa(job #573305)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 6 aprilie 2011 10:03:57
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#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;
}