Pagini recente » Diferente pentru schimbare-borland/alternativa intre reviziile 6 si 7 | Diferente pentru schimbare-borland/alternativa intre reviziile 14 si 10 | Cod sursa (job #2203878) | Cod sursa (job #1744626) | Cod sursa (job #1679273)
#include <iostream>
#include <algorithm>
#include <vector>
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
std::vector<int> v;
int n;
void afisare(int k)
{
int i;
for(int i = 1; i <= k; ++i)
g << v[i] << " ";
g << endl;
}
int verifica( std::vector<int> &v,int k){
int i;
for(int i = 1; i <= k - 1; ++i){
if( v[i] == v[k])
return 0;
}
return 1;
}
void permutare(std::vector<int> &v, int k){
int i;
for(int i = 1; i <= n; ++i){
v[k] = i;
if( verifica(v,k)){
if( k == n){ // daca am gasit solutie
afisare(k);
}
else
permutare(v,k + 1);
}
}
}
int main(){
f >> n;
v.resize(n + 1);
permutare(v,1);
return 0;
}