Cod sursa(job #541030)
| Utilizator | Data | 24 februarie 2011 19:26:40 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
using namespace std;
int a[10],n;
ofstream out("permutari.out");
void afisare(){
int i;
for(i=1;i<=n;i++)
out<<a[i]<<" ";
out<<endl;
}
int valid(int poz){
int i;
for(i=1;i<poz;i++)
if(a[i]==a[poz])return 0;
return 1;
}
void back(int poz){
int i;
if(poz==n+1)afisare();
else
for(i=1;i<=n;i++){
a[poz]=i;
if(valid(poz))
back(poz+1);
}
}
int main(){
ifstream in("permutari.in");
in>>n;
back(1);
out.close();
return 0;
}
