Pagini recente » Cod sursa (job #2018193) | Cod sursa (job #2871016) | Cod sursa (job #151151) | Cod sursa (job #2380076) | Cod sursa (job #2483516)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int n,k;
int st[15];
void init()
{
st[k] = 0;
}
int succesor()
{
if(st[k] < n && k <=n)
{
st[k] ++;
return 1;
}
return 0;
}
int valid()
{
for(int i = 1; i < k; i++)
if(st[i] == st[k])
return 0;
return 1;
}
int solutie()
{
return k == n;
}
void tipar()
{
for(int i = 1;i <= n;i++)
out << st[i] <<" ";
out <<"\n";
}
void bt()
{
k = 1;
init();
while(k)
{
int as = 1;
int ev = 0;
while(as&&!ev)
{
as = succesor( );
if(as)
ev = valid( );
}
if(as)
if(solutie())
tipar();
else
{
k++;
init();
}
else
k--;
}
}
int main()
{
in >> n;
bt();
return 0;
}