Cod sursa(job #702545)
Utilizator | Teudan Adina swim406 | Data | 1 martie 2012 22:44:26 |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
using namespace std;
int st[10],n,p;
ifstream f("permutari.out");
ofstream g("permutari.out");
void init() {
f>>n;
for(i=1;i<=n;i++) st[i]=0;
}
int valid(int p) {
int ok=1,i;
for(i=1;i<p;i++) if(st[p]==st[i]) ok=0;
return ok;
}
void tipar() {
int i;
for(i=1;i<=n;i++) g<<st[i]<<" ";
g<<endl;
}
void bktr(int p) {
int i;
for(i=1;i<=n;i++) {
st[p]=i;
if(valid(p))
if(p==n) tipar(p);
else bktr(p+1);
}
}
int main() {
init();
bktr(1);
return 0;
}