You are on page 1of 3

///Permutari

#include <bits/stdc++.h>

using namespace std;


ifstream f("permutari.in");
ofstream g("permutari.out");
int v[11], i, n, k;

int verif(int k)
{
for(i=1; i<=k-1; i++)
if(v[i]==v[k])
return 0;
return 1;
}
void afis()
{
for(int j=1; j<=n; j++)
g<<v[j]<<" ";
g<<endl;
}

void bkt(int k)
{
for(int i=1; i<=n; i++)
{
v[k]=i;
if(verif(k))
if(k==n)
afis();
else bkt(k+1);
}
}
int main()
{
f>>n;
bkt(1);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
///Aranjamente
#include <bits/stdc++.h>

using namespace std;


ifstream f("aranjamente.in");
ofstream g("aranjamente.out");
int x[16], n, k, p;

void afis(int k)
{
for(int j=1; j<=k; j++)
g<<x[j]<<" ";
g<<endl;
}

int verif(int k)
{
for(int i=1; i<k; i++)
if(x[k]==x[i])
return 0;
return 1;
}

void ba(int k)
{
for(int i=1; i<=n; i++)
{
x[k]=i;
if(verif(k))
if(k==p)
afis(k);
else
ba(k+1);
}
}
int main()
{
f>>n>>p;
ba(1);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~
///Combinari
#include <bits/stdc++.h>

using namespace std;


ifstream f("combinari.in");
ofstream g("combinari.out");
int x[16], n, k, p;

void afis(int k)
{
for(int j=1; j<=k; j++)
g<<x[j]<<" ";
g<<endl;
}

int verif(int k)
{
for(int i=1; i<k; ++i)
if(x[k]<=x[i])
return 0;
return 1;
}

void ba(int k)
{
for(int i=1; i<=n; ++i)
{
x[k]=i;
if(verif(k))
if(k==p)
afis(k);
else
ba(k+1);
}
}
int main()
{
f>>n>>p;
ba(1);
}

You might also like