Pagini recente » Cod sursa (job #384748) | Cod sursa (job #1828176) | Cod sursa (job #719086) | Cod sursa (job #102337) | Cod sursa (job #1145757)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
void AfisareVector(vector<int> v, int n){
for(int i=1; i<=n; i++)
g<<v[i]<<" ";
g<<"\n";
}
bool valid(vector<int> v, int pos){
// v[pos-1] ==
for(int i=1; i<pos; i++)
if(v[i] == v[pos])
return false;
return true;
}
void back(vector<int> &v, int pos, int n){
for(int i=1; i<=n; i++){
v[pos] = i;
if(valid(v, pos)){
if(pos == n)
AfisareVector(v, n);
else
back(v, pos+1, n);
}
}
}
int main()
{
int n;
//cin>>n;
f>>n;
vector<int> v(n+1, -1);
back(v, 1, n);
/* N este numarul de elemente ce vor fi introduse in vector
* 1 este elementul de la care se incepe
* voi face un loop prin toate elementele posibile de adaugat, testez daca pot fi adaugate
* si anume daca n-au fost bagate deja
*/
return 0;
}