Sei sulla pagina 1di 5

Permutari

#include <iostream>
#include<fstream>

using namespace std;int st[100],n;


ifstream f("date.in");

int valid(int k)
{
if(k>n)return 0;
for(int i=1;i<k;i++)
if(st[k]==st[i])
return 0;
return 1;
}
int solutie(int k)
{
if(k!=n)
return 0;
return 1;
}
void tipar(int k)
{
for(int i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
{
if(solutie(k))
tipar(k);
else
back(k+1);
}
}
}

int main()
{
f>>n;
back(1);
return 0;
}
Combinari

#include <iostream>
#include<fstream>

using namespace std;int st[100],p,n;


ifstream f("date.in");

int valid(int k)
{
if(k>p)return 0;
if(k>1 && st[k]<= st[k-1])
return 0;
return 1;
}
int solutie(int k)
{
if(k!=p)
return 0;
return 1;
}
void tipar(int k)
{
for(int i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
{
if(solutie(k))
tipar(k);
else
back(k+1);
}
}
}

int main()
{
f>>n>>p;
back(1);
return 0;
}
Generarea submultimilor unei multimi
#include <iostream>
#include<fstream>

using namespace std;int st[100],p,n;


ifstream f("date.in");

int valid(int k)
{
if(k>n)return 0;
if(k>1 && st[k]<= st[k-1])
return 0;
return 1;
}
int solutie(int k)
{
if(k>n)
return 0;
return 1;
}
void tipar(int k)
{
for(int i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
{
if(solutie(k))
tipar(k);
//else
back(k+1);
}
}
}

int main()
{
f>>n;
back(1);
return 0;
}
Aranjamente
#include <iostream>
#include<fstream>

using namespace std;int st[100],p,n,solutii;


ifstream f("date.in");

int valid(int k)
{
if(k>p)return 0;
for(int i=1;i<k;i++)
if(st[k]==st[i])

return 0;
return 1;
}
int solutie(int k)
{
if(k!=p)
return 0;
return 1;
}
void tipar(int k)
{
solutii++;
for(int i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
{
if(solutie(k))
tipar(k);
else
back(k+1);
}
}
}

int main()
{
f>>n>>p;
back(1);
cout<<solutii;
return 0;
}

Potrebbero piacerti anche