Pagini recente » Cod sursa (job #1113873) | Cod sursa (job #2648977) | Cod sursa (job #1498428) | Cod sursa (job #2103829) | Cod sursa (job #1498258)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n,m,i,k,st[101],as,ev;
void init(){
st[k]=0;
}
bool succesor(){
if(st[k]<n){
st[k]++;
return 1;
}
return 0;
}
bool valid(){
if(k>1)
if(st[k-1]>st[k])
return 0;
for(i=1;i<k;i++)
if(st[k]==st[i])
return 0;
return 1;
}
bool solutie(){
if(k==m)
return 1;
return 0;
}
void tipar(){
for(i=1;i<=m;i++)
g<<st[i]<<' ';
g<<'\n';
}
int main()
{
f>>n>>m;
k=1;
init();
while(k){
do{
as=succesor();
if(as)
ev=valid();
}while(!(as&&ev||!as));
if(as)
if(solutie()){
tipar();
}
else{
k++;
init();
}
else
k--;
}
return 0;
}