Cod sursa(job #1316357)
Utilizator | GinguIonut GinguIonut | Data | 13 ianuarie 2015 19:18:31 |
---|---|---|---|
Problema | Combinari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.83 kb |
#include <fstream>
using namespace std;
ifstream fin("fisier.in");
ofstream fout("fisier.out");
int v[9],n,m,sol[9],j;
int afis(int x)
{
for(int i=1;i<=x;i++)
fout<<v[sol[i]]<<" ";
fout<<'\n';
}
int cont(int x)
{
for(int i=1;i<x;i++)
if(sol[x]==sol[i])
return 0;
return 1;
}
void back(int x)
{
int k=1;
sol[k]=0;
while(k>0)
{
if(sol[k]<=x)
{
sol[k]++;
if(cont(k))
{
if(k==x)
afis(k);
else
{
k++;
sol[k]=0;
}
}
}
else
k--;
}
}
int main()
{
fin>>n;
fin>>m;
for(j=1;j<=n;j++)
fin>>v[j];
back(m);
return 0;
}