Pagini recente » Cod sursa (job #606241) | Cod sursa (job #2484653) | Cod sursa (job #2946761) | Cod sursa (job #2946717) | Cod sursa (job #545465)
Cod sursa(job #545465)
#include <fstream.h>
int X[20];
int n;
ofstream g("permutari.out");
int cont(int k) {
//verific daca elementul de pe nivelul k impreuna cu cele de pe nivelele 1..k-1 poate sa conduca la solutie
//stiind ca aceeasi verificare o facusem cu fiecare dintre elementele anterioare
for (int i=1;i<k;i++)
if (X[i] == X[k])
return 0;
return 1;
}
void back(int k) {
if (k>n) {
for (int i=1;i<=n;i++)
g<<X[i]<<" ";
g<<"\n";
return;
}
for (int i=1;i<=n;i++){
X[k] = i;
if (cont(k))
back(k+1);
}
}
int main() {
ifstream f("permutari.in");
f>>n;
f.close();
back(1);
g.close();
return 0;
}