Cod sursa(job #2261571)

Utilizator MacoveiTiberiumacovei tiberiu MacoveiTiberiu Data 16 octombrie 2018 13:19:27
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
using namespace std;

int n,st[100],v[10000],counter=0,m,temp;

ifstream cin("combinari.in");
ofstream cout("combinari.out");

void print(int nivel){
	
	for(int i=1;i<=nivel;++i){
		
		cout<<st[i]<<" ";
	
	}
	cout<<"\n";

}
bool valid(int nivel){
	
	for(int i=1;i<=nivel-1;++i){
		
		if(st[i]==st[nivel]){
			
			return false;
			
		}
	
	}
	return true;
}
void backtr(int nivel){
	
	for(int i=st[nivel-1]+1;i<=n;++i){
		
		st[nivel]=v[i];
		if(valid(nivel)){
			
			if(nivel==m){
				
				print(nivel);
			
			}
			else{
				
				backtr(nivel+1);
			
			}
		
		}
	
	}
	
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		
		v[i]=i;
	
	}
	backtr(1);

}