Pagini recente » Cod sursa (job #1157804) | Infoarena Monthly 2012 - Runda 8 - Solutii | Cod sursa (job #2535048) | Cod sursa (job #155970) | Cod sursa (job #2502756)
#include <bits/stdc++.h>
typedef unsigned int ui;
typedef long long ll;
using namespace std;
int n, p[10];
bool valid(int k)
{
for (int i = 1; i <= k - 1; i++)
{
if (p[k] == p[i]) return 0;
}
return 1;
}
bool solutie(int k)
{
if (k == n) return 1;
return 0;
}
void afisare(int k)
{
for (int i = 1; i <= n; i++)
{
cout << p[i] << " ";
}
cout << "\n";
}
void Permutare(int k)
{
for (int i = 1; i <= n; i++)
{
p[k] = i;
if (valid(k))
{
if(solutie(k)) afisare(k);
else Permutare(k+1);
}
}
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(); cout.tie();
ifstream cin("permutari.in");
ofstream cout("permutari.out");
cin >> n;
Permutare(1);
return 0;
}