Pagini recente » Cod sursa (job #504966) | Cod sursa (job #1750888) | Cod sursa (job #677645) | Cod sursa (job #1792246) | Cod sursa (job #1582069)
#include<fstream>
#define NMAX 9
using namespace std;
FILE*in;
ofstream out("permutari.out");
int n;
int SOL[NMAX];
void read()
{
in=fopen("permutari.in", "r");
fscanf(in, "%d", &n);
}
void initializ(int number_k)
{
SOL[number_k]=0;
}
bool exist(int number_k)
{
if (SOL[number_k] < n)
return true;
return false;
}
bool condition(int number_k)
{
for (int i=1; i<number_k; i++)
if (SOL[i] == SOL[number_k])
return false;
return true;
}
bool solution(int number_k)
{
if (number_k == n)
return true;
return false;
}
void show()
{
for (int i=1; i<=n; i++)
out<<SOL[i]<<" ";
out<<'\n';
}
void BKT(int k)
{
while (k > 0)
{
if (exist(k))
{
SOL[k]++;
if (condition(k))
{
if (solution(k))
show();
else
{
k++;
initializ(k);
}
}
}
else
k--;
}
}
int main()
{
read();
BKT(1);
return 0;
}