Pagini recente » Cod sursa (job #2742874) | Cod sursa (job #1812920) | Cod sursa (job #317218) | Cod sursa (job #1645974) | Cod sursa (job #2121504)
#include <fstream>
std::ifstream f("permutari.in");
std::ofstream g("permutari.out");
unsigned int n;
unsigned int v[9];
bool Valid(int k)
{
for (int i = 1; i < k; i++) {
if (v[i] == v[k]) {
return false;
}
}
return true;
}
inline bool Solution(int k)
{
return (k == n) ? true : false;
}
void ShowSol()
{
for (int i = 1; i <= n; i++) {
g << v[i] << " ";
}
g << "\n";
}
void Back()
{
int k = 1;
v[k] = 0;
while (k > 0) {
if (v[k] < n) {
v[k]++;
if (Valid(k)) {
if (Solution(k)) {
ShowSol();
}
else {
v[++k] = 0;
}
}
}
else {
k--;
}
}
}
void Read()
{
f >> n;
}
void Solve()
{
Back();
}
int main()
{
Read();
Solve();
return 0;
}