Cod sursa(job #261086)

Utilizator iulliaiulia pop iullia Data 17 februarie 2009 21:04:35
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
using namespace std;

int st[100], n, k;
int valid(int p);
void afisare();

 void back(int p)
{
int pval;
for(pval=1;pval<=n;pval++)
{
st[p]=pval;
if(valid(p))
if(p==k)
afisare();
else back(p+1);
}
 }
int valid(int p)
 {
int i;
for(i=1;i<p;i++)
if(st[i]==st[p])
return 0;
if(p>1&&st[p]<st[p-1])
return 0;
     return 1;
     }
   void afisare()
 {
 int i;
 for(i=1;i<=k;i++)
 cout<<st[i]<<" ";
 cout<<endl;
      }
 int main()
 {
cout<<"n="; cin>>n;
cout<<"k="; cin>>k;
back(1);
system ("pause");
return 0;
  }